7
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

[PowerApps Tip's]アプリからTwitter投稿画面を起動する

Posted at

PowerApps 、Microsoft Flow には標準でTwitterへ接続可能なコネクターが準備されています。それを利用すればアプリやFlowから任意のメッセージをツイートすることが可能です。

PowerApps から Twitter に接続する
Microsoft Flow Twitter

この仕組みではなくて、このQiitaにもあるような「Tweet Button」みたいな動作を PowerApps にも組み込みたいコトありませんか?今回は、そんな場合の対象方法です。

#完成イメージ

Twitterアイコンの向きが微妙なのは、ご愛敬ですw

#PowerAppsでTweet画面を起動する方法
「Launch」関数を利用します。公式情報は下記を参照ください。

キャンバス アプリでの download、Launch、および Param 関数

ボタンや画像など、好きなコントロールを配置します。そのコントロールの[OnSelect]イベントへ下記のようにツイート用URLを記入します。

Launch("https://twitter.com/intent/tweet")

これで、PCのブラウザーで操作した場合は新規投稿画面がブランクで起動します。なお、上記のパラメーターにしているURLを直接ブラウザーのURL欄へ入力すると同じ動作をするはずです。

#ハッシュタグなどをパラメーターで渡す
特定のハッシュタグなどを付与したり、デフォルトの文字列を渡したい場合は、PowerAppsのLaunch関数ではなくてTwitter側の仕様に従ってURLを指定すればOKです。冒頭で紹介した動画だと、こんな感じ。

image.png

Launch("https://twitter.com/intent/tweet?text=%E3%81%BB%E3%81%92%E3%81%BB%E3%81%92&hashtags=PBIJP%2CJPAUG%2CJPSPS")

つまり、PowerAppsではLaunchしてるだけで、あとは全部Twitterの仕様なんですwww
なお、スマートフォンの場合はTweet投稿用のデフォルトアプリが起動します。

###Tweet Button 公式情報
https://developer.twitter.com/en/docs/twitter-for-websites/tweet-button/guides/web-intent.html

文字列はエンコードしてないとダメなどのルールがあります。アプリ内で動的に生成する場合は色々と処理を作る必要がありますが、単純に文字列やハッシュタグだけ指定したい場合は生成ツールを利用すると便利です。

ツイートリンク生成ツール

#おまけ
Twitterの公式リソースからアイコンなどが入手できますよ。

#まとめ

  • Launch 関数で PowerApps 以外のアプリも起動できるし、URLも投げられる
  • Tweet Button の仕組みを丸ごとLaunch関数に指定することが可能
  • 初期Textや、ハッシュタグなども簡単に初期指定できる
  • 同じ仕組みのWebサービスなら、同様のテクニックが利用可能(なハズ)

PowerApps ってよりも、Webハックみたいな気もしなくも無いけど・・・
それでは、皆さま。素晴らしい Power Platform Life を!

7
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?