はじめに

2019年11月時点で主要な SNS である(と個人的に思う) Twitter, Facebook, LINE への共有リンクの設定方法についてまとめた。

TL;DR

  • Twitter: https://twitter.com/intent/tweet?text=<text>
    • 他オプション: via, related, url, hashtags
  • Facebook: https://www.facebook.com/share.php?u=<url>
  • LINE: https://line.me/R/msg/text/?<text>
この記事が参考になった方
ここここからチャージや購入してくれると嬉しいです(ブログ主へのプレゼントではなく、ご自身へのチャージ)
欲しいもの / Wish list

目次

  1. はじめに
  2. TL;DR
  3. 詳細
    1. Twitter
      1. パラメータの補足
      2. その他: アプリを開く
    2. Facebook
  4. LINE
  5. まとめ
  6. 参考文献
    1. 共有リンク関連
    2. スマホアプリ起動関連
    3. その他

詳細

Twitter

Twitter には 2種類のシェア用 URL がある。

  1. https://twitter.com/intent/tweet
  2. https://twitter.com/share

2 の URL を使った場合を Developer tools で調べたところ、(http://twitter.com/share →) https://twitter.com/sharehttps://twitter.com/intent/tweet とリダイレクトされていたので、1 の https://twitter.com/intent/tweet を使うのが良い。
※利用者からすると結果は同じだが、Twitter 社への負荷を考えると最終的に使われるページを使う方が好ましいだろう。

使用できるパラメータは Web Intent — Twitter Developers を見ると以下。

  • text: ツイート本文
  • url: リンク
  • hashtags: ハッシュタグ(カンマ(,) 区切り)
  • via: アカウント名
  • related: アカウント名
  • in-reply-to: リプライ先の tweet_id

いくつかのページで以下パラメータが紹介されてたり、実際に使われてたりしているのを見たが、廃止されたっぽい。

  • count
  • original_referer

パラメータの補足

text, url, hashtags は URL Encode しておいた方が良いだろう。

text

%0A を入れると改行できる。

https://twitter.com/intent/tweet?text=hoge%0Afuga だと、ツイート内容は以下のようになる。

1
2
hoge
fuga

JavaScript だと encodeURIComponent, Ruby だと sporkmonger/addressableAddressable::URI.encode を使うと良い。

参考

↑を見た感じ、Node.js なら querystring を使うのが良さげ。

1
2
3
4
5
const querystring = require('querystring');
const query = querystring.stringify({ foo: 'bar', hoge: 'fuga', animal: 'ねこ' });
// => 'foo=bar&hoge=fuga&animal=%E3%81%AD%E3%81%93'
const url = `https://some.company.com/path?${query}`;
// => 'https://some.company.com/path?foo=bar&hoge=fuga&animal=%E3%81%AD%E3%81%93'
url

url は改行せずに半角スペース付きで挿入されるので、細かい見た目を気にするなら text の方に含める方が良いだろう。

以下に実際のリンクも載せるので、試しにアクセスしてみて欲しい。

https://twitter.com/intent/tweet?text=hoge&url=https://example.com だと、ツイート内容は以下のようになる。

1
hoge https://example.com

text の箇所で書いた %0A と組み合わせて https://twitter.com/intent/tweet?text=hoge%0Ahttps://example.com だと、ツイート内容は以下のようになる。

1
2
hoge
https://example.com
hashtags

hashtags には # は含めずにカンマ(,)区切りでタグを指定する。

https://twitter.com/intent/tweet?text=hoge&hashtags=tag1,タグ2,付箋3 だと、ツイート内容は以下のようになる。

1
hoge #tag1 #タグ2 #付箋3
via

via は指定すると @account さんから が追加される。

https://twitter.com/intent/tweet?text=hoge&via=TwitterJP だと、ツイート内容は以下のようになる。

1
hoge @TwitterJPさんから

related は指定すると、ツイート後の画面にフォロー有無を聞かれるページが表示される。

https://twitter.com/intent/tweet?text=hoge&related=TwitterJP だと、ツイート内容は以下のようになる。

1
hoge

ツイート後の画面は以下のようになる。

その他: アプリを開く

直接アプリを開かせたい場合、(iOS だと) twitter://post?message=<text> でいけるっぽい。

ただし、未インストール時の考慮なども必要なので、「絶対にアプリじゃないとダメだ」という要件でも無い限りはシンプルにリンクで良いと思う。

Facebook

Facebook の共有リンクは下記、URL のみが指定可能。

  • https://www.facebook.com/share.php?u=<url>
  • https://www.facebook.com/sharer/sharer.php?u=<url>

このページを指定する場合のリンクは下記。

https://www.facebook.com/share.php?u=https://r17n.page

uhttp://localhost などの到達不可能な URL を指定するとエラーになる。

https://www.facebook.com/share.php?u=http://localhost

以前は t=<text> も使えたっぽいけど、今は使えない模様。

LINE

LINE の共有リンクは下記

https://line.me/R/msg/text/?<text>

このページを指定する場合のリンクは下記。

https://line.me/R/msg/text/?https://r17n.page

まとめ

  • Twitter: https://twitter.com/intent/tweet?text=<text>
    • 他オプション: via, related, url, hashtags
  • Facebook: https://www.facebook.com/share.php?u=<url>
  • LINE: https://line.me/R/msg/text/?<text>

参考文献

共有リンク関連

スマホアプリ起動関連

ちゃんと読んでないのもあるけど、備忘のために残す。

その他

関連記事

この記事が参考になった方
ここここからチャージや購入してくれると嬉しいです(ブログ主へのプレゼントではなく、ご自身へのチャージ)
欲しいもの / Wish list