7
1

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 1 year has passed since last update.

【Twitter, Facebook】Web IntentでSNSへのシェア機能を実装する

Posted at

Web Intentとは?

簡単に言えば、特定のURLを踏むと各SNSの投稿画面へ遷移し、投稿したいテキストやURLが自動入力される、という機能が実現できます。

(例)下のリンク先に移動するとTwitterのツイート画面になる
https://www.twitter.com/share?text=%E3%83%86%E3%82%B9%E3%83%88%E3%81%A0%E3%82%88%E3%80%9C&url=https%3A%2F%2Fqiita.com%2F

image.png

今回はSNSとしてTwitterとFacebookのふたつに関してまとめます

Twitter

公式のDocsがあるので読みましょう

エンドポイント
https://twitter.com/intent/tweet

クエリ

詳細はTweet button - Tweet text componentsを参照してください

key value
text 本文
url URLを共有するときに使います
hashtags "#"記号なしで","区切り
via twitterアカウント名を指定する

サンプル

image.png

モバイルのネイティブアプリ

AndroidやiOSの場合、ネイティブのTwitterアプリがインストールされている端末でURLを開くと、アプリが自動で起動してくれます

他のエンドポイント

Twitterへ投稿するURLとして https://www.twitter.com/shareを紹介する記事が調べると結構見つかります。実際にアクセスしてみると確かに投稿画面が開き、クエリも同じように処理してくれます。 301リダイレクトも含めると、

  • https://twitter.com/intent/tweet
  • https://www.twitter.com/intent/tweet
  • https://twitter.com/share
  • https://www.twitter.com/share

あたりが使えるようです(執筆時点)。

Facebook

主に二種類あるので分けます

アプリIDが必要

公式のDocsがあるので読みましょう

以下のMeta開発者ページで自身のFacebookアカウントを登録し、アプリIDを取得する必要があります

エンドポイント

https://www.facebook.com/dialog/share

クエリ

key value
app_id 登録したアプリID(必須)
href シェアするURL
hashtag "#"記号をつけてひとつのみ
redirect_uri シェアボタン押下した後にリダイレクトされるURL. 開発者ページで登録した自身のサイトでないとエラー

サンプル
https://www.facebook.com/dialog/share?app_id=${your_app_id}&href=https%3A%2F%2Fqiita.com%2F&hashtag=%23Qiita

スクリーンショット 2022-11-10 18.55.24.png

アプリID不要

太古から存在するエンドポイントのよう。ただ公式のDocsには記載がなく、一時期は非推奨になったものの利用するサイトの多さから復活したとか言われている(要出典)

エンドポイント

https://www.facebook.com/sharer/sharer.php

クエリ

key value
app_id 登録したアプリID(任意:シェアした後の表示が少し変わる)
u シェアするURL
hashtag "#"記号をつけてひとつのみ

サンプル
https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fqiita.com%2F&hashtag=%23Qiita

モバイルのネイティブアプリ

Twitterとは異なり、Facebookのネイティブアプリがインストール済みでも自動では起動してくれません。各プラットフォーム専用のFacebook SDKを利用する必要があります

7
1
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
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?