Power Automateで国際人に俺はなる💪

# 世は国際時代、人々は国際人を目指して日々奮闘していた。

業務に求められるスキルは上がる一方、物価上昇の影響で実質賃金は下がっていく。

DX、リスキリングが提唱されるものの、目の前の業務、生活を維持することで精一杯。

出口の見えないこの状況、打破するには国際人になるしかない。

しかし、生粋の日本生まれ。「学生のときにもっと勉強すればよかった！」と思ってももう遅い。

言語の壁、文化の壁。見えない壁が自分の周りを厚く覆い一歩踏み出せない。まるで洞窟にいるようだ。

我々に光がさす日はやってくるのだろうか。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/6d70bc08-47b5-8ec3-77ae-b1952c2c79e4.png)

### 夢は叶う。そう、Power Automateならね😁

そんな過酷な状況のなか、蜘蛛の糸をたぐるようにPower Automateに触り始めた。

DX、リスキリング、そんなの知らねぇ。M365が導入、使えるようになった自動化フロー。

日々の繰り返し発生する単純作業を改善すべく、恐る恐るフローを組んでみる。

そのとき、どこかから声が聞こえた。

#### 「大丈夫、**国際人にはすぐなれる**」

洞窟の中に光が射した。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/f1f0c5ac-d5f3-355c-fa31-37f093110f55.png)


声は続けた、

「**Power Automateを使えばすぐに国際人の仲間入りできます✨**」

「**安心して、未来は明るいよ😁**」

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/96dec065-0436-eb04-3490-49d5011be6c6.png)

## 国際人の定義

前置き（ポエム）はこの程度にして、本題に入ります😅

**LinkedIn**のメッセージの下に英語バージョンも載せ（多言語対応）、海外のユーザーに対しても発信できる人を**国際人の定義**とします。

### 投稿サンプル

**国際人の定義**を踏まえて、下図を**Power Automate**で実現していきます。
日本語の下に英語バージョンを投稿できるとかっこいいですね。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/bd6ca0d7-a605-3fa3-49f6-1f49509de44f.png)

# フロー全貌

国際人はいろいろなSNSを使わないので、大元はTwitterに投稿するものとして考えていきます。Twitterに特定のハッシュタグをつけてつぶやいたものをPower Automateがキャッチ。Tweetに含まれる可能性のある画像を処理し、Tweet本文は翻訳。そしてLinkedInに投稿します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/09a51058-36a8-b623-c66f-9e7765c4f728.png)

# フロー解説

## ①新しいツイートが投稿されたら

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/078641c6-aa2c-f4fa-af6f-a0f1867b3fa7.png)

https://learn.microsoft.com/ja-jp/connectors/twitter/#when-a-new-tweet-is-posted

**新しいツイートが投稿されたら**トリガーは、まずTwitterの検索条件を指定します。検索条件は下記のようなサイトで確認することもできますし、Twitterの検索窓右の三点リーダーを押したあとにでてくる **「高度な検索」** を使用すると、UI上で入力したものを検索クエリに変換してくれるので、それをそのままPower Automateで使えます。

https://so-zou.jp/web-app/tech/web-api/twitter/search/search-query.html

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/32e58e7e-7922-1df1-7caf-79816b3266ea.png)

例えば、このように入力すると

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/5927ed36-56e3-32c7-f1f3-679a88ca952a.png)

下記のクエリを作成してくれます。

```
"パンダ" (画伯 OR キリン) -熊猫 (#気ままに勉強会)
```

今回は自分自身のツイートに、**#LinkedIn**とハッシュタグがついていたら起動するようにしたいので、下記のような検索クエリをPower Automateの検索ボックスに入れます。

```
from:hanaseleb1234 #LinkedIn
```

### TweetModel

Twitterから取得できる情報は**TweetModel**という名称でドキュメントに記載があるので、事前に確認しておくと良いでしょう😁

https://learn.microsoft.com/ja-jp/connectors/twitter/#tweetmodel

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/59828a28-9036-8eac-62bc-0663b23d87a6.png)

## ②メディアURL格納アレイ

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/37f0a944-cae0-f245-f0f7-774859c65feb.png)

Tweetには画像や動画を添付することもありますよね。
Twitterでは、**1Tweetにつけられる画像の数は4枚まで**と決まっています。
また、**動画は140秒まで**です。[TweetModel](https://learn.microsoft.com/ja-jp/connectors/twitter/#tweetmodel)をみると、それがURLになって返ってくることがわかります。画像は4枚まで投稿できるため、最大4つのURLが返ってきます。そのため**配列（アレイ）** を用意してあげて、複数のURLが返ってきても大丈夫なようにしておきます。

## ③メディアURLを配列編集に追加

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/3f7ebd1b-1849-c6e3-8f9f-21abf1f3fa1f.png)

アクションの**配列変数に追加**を追加して、**値**に**メディアURL**を追加すると、自動的に**apply to each**になります。メディアURLは最大４つになりますから、当然ですね。１回ごとにこの処理が周り、配列変数（`media_url`）にURL
が追加されていきます。

## ④配列を結合

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/ca669790-c2bb-b21d-0653-30f33a3af142.png)

今、配列変数（`media_url`）には画像URLが複数個入っている可能性がありますので、それを結合して扱いやすくします。**次を使用して結合**のところには区切り文字を入れることができます。今回は改行区切りにしたかったので、改行を入れてあります。（テキストボックスの中でEnterボタンを一回押しただけ）

以下ブログを参考にさせてもらいました😁

https://mocabrown.com/blog/archives/6512

## ⑤ 日本語を英語に翻訳

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/7984ada5-c91e-5e4b-f73a-abb91d824dc9.png)

Microsoft Translator V2のアクションを使用して、日本語を英語に翻訳していきます。最初にコネクター名とサブスクリプションキーの入力を求められますが、名称は任意でOKです。サブスクリプションキーを空欄にした場合には、下記の価格・仕様が適用されます。Tweetをきっかけに動き出すフローにしているので、よほどのツイ廃出ない限り無料枠を超えることはないでしょう😅

:::note
サブスクリプション キーが指定されていない場合は、翻訳されている文字数に基づき、組み込まれている調整の制限を使用して取得される共有 API キーが使用されます。具体的には、1 日あたり 55,000 文字、1 分あたり 100 リクエストです。
https://learn.microsoft.com/ja-jp/connectors/translatorv2/#translate-text
:::

**Target Language**は、翻訳先の言語を指定します。今回の場合は**英語**になります。

## ⑥Linkedinに記事を共有する

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/40dee79c-f5d2-7991-1f41-0b4840e0833c.png)

最後のステップ、**Linkedinへの投稿**です。
Linkedinへの投稿はURLを共有する的なアクションしか用意されていないので、URLの部分はTwitterのプロフURLを入れておきます。ここは各自**センス**でなにかをいれておいてください。

詳細オプションの項目がそれぞれわかりにくいので、検証時に撮ったスクショを貼っておきます💪

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/61f3d91c-2e18-88ae-a128-61dbd4ee0384.png)

また、**「英語の文章は下につけておきます」** というのも複数言い回しがあるようです。この件はこちらの記事を参考にしました。

https://eikaiwa.dmm.com/uknow/questions/41948/

# **これで完成です。**

Twitterに#LinkedInハッシュタグをつけて投稿すると、Power Automateが捕捉し、翻訳をして多言語対応した上でLinkedInに投稿してくれます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/80467/bd6ca0d7-a605-3fa3-49f6-1f49509de44f.png)

# まとめ

Power Automateなら簡単にフローを作成して国際人の仲間入り！もう少しフローを長くすれば、英語、中国語、フランス語…などなど、多言語化をどんどん進められます💪工夫して連ツイもカバーできるようにしたり、ハッシュタグで翻訳言語を出し分けるなんてことも考えられますよね。このフロー基盤に、さぁ、**世界に発信して国際人になりましょう！**

# 感想

一個一個のアクションや全体のフローは簡単でも、きちんとそれぞれの仕様を確認しながらフローを構成していくと、なにか問題があったときに対応できる力がつくのではと思いました🤔

# PS.自分へ

こんな記事書いている時間あったら英語勉強しろ。