web-dev-qa-db-ja.com

モバイルサイトでfacebooksharer.phpカスタムパラメータを使用することはできません

私はjQueryモバイルWebサイトを所有しています。そこで私はFacebookの共有オプションとカスタムパラメータを使用して、タイトル、説明、リンク付きの画像を追加します

以下のように https://www.facebook.com/sharer/sharer.php?s=100&p%5Burl%5D=http%3A%2F%2Fgoogle%2F&p%5Bimages%5D%5B0%5D=https ://www.google.com/images/srpr/logo3w.png&p%5Btitle%5D=My%20own%20title&p%5Bsummary%5D=My%20own%20description

しかし、同じリンクをモバイルにしようとすると、リダイレクトされます http://m.facebook.com/sharer.php?s=100&p%5Burl%5D=http%3A%2F%2Fgoogle%2F&p% 5Bimages%5D%5B0%5D = https%3A%2F%2Fwww.google.com%2Fimages%2Fsrpr%2Flogo3w.png&p%5Btitle%5D = My + own + title&p%5Bsummary%5D = My + own + description&_rdr

つまり、共有URLの先頭にm.facebookが追加されます。そのため、カスタムタイトル、説明、画像、リンクでは機能しません。

とにかくこれを修正しますか?または、モバイルWebにm.facebook.comを使用しないように強制する方法は?

17
Umarfaruk M

URLに?m2wパラメータを追加することで、Facebookがモバイルサイトにアクセスするのを防ぐことができます。その後、sharer.phpは通常どおりに機能します。

例えば.

 https://www.facebook.com/sharer/sharer.php?m2w&s=100.... (etc)

より良い答えを探して、しかしちょっと悪いように見えます。

編集:Sharer.phpは非推奨になりました。以下のFelixの回答を参照してください。

37
n13

sharer.phpは非推奨になりました。 https://developers.facebook.com/bugs/252983554810810/

新しい方法は、共有ダイアログを使用することです: https://developers.facebook.com/docs/sharing/reference/share-dialog

例えば.

https://www.facebook.com/dialog/share?
  app_id=145634995501895
  &display=popup
  &href=https%3A%2F%2Fdevelopers.facebook.com%2Fdocs%2F
  &redirect_uri=https://developers.facebook.com/tools/Explorer
8
Felix Livni

モバイルのURLはuとしてサポートされ、タイトルはtとしてサポートされます

http://m.facebook.com/sharer.php?u=<urlencoded url>&t=<urlencoded title>

ソース

7
Graham P Heath

モバイルURLを使用してモバイルデバイスの問題を修正すると、Facebookはデスクトップの共有ダイアログにリダイレクトします。

http://m.facebook.com/sharer.php?u=<urlencoded url>

次に例を示します。 https://careers-hangarcr.herokuapp.com/job/apply/55c277c0fb8b040300622602

0
jgatjens