オープン グラフ ローカライズ オブジェクトを実装しようとしています。
メタ タグを設定しましog:locale:alternate
た。Facebook クローラー リクエストが来ると、正しいロケールが返されます。その結果、製品ごとに 1 つのオブジェクトがあり (カウンターが分割されていないなど)、ユーザーのロケール設定に従って、テキストがウォール ポストに正しく表示されます。
自分のシェアを見ると、いくつかの Facebook URL パラメーターが URL に追加されているのがわかりますが、誰かが私の投稿をシェアすると、これらのパラメーターも削除され、正規の URL だけが残ります。ただし、正規 URL にはロケール/言語パラメーターが含まれていません。これらはog:locale
、投稿に使用できるタグによってのみ定義する必要があるためです。
しかし、問題は、これらのリンクから現在のユーザーのロケール (実際にリンクをクリックした人) を見つけることができないことです。
fb_locale
ロケールも、URL にパラメーターも、X-Facebook-locale
ヘッダーも送信されないため、ここで立ち往生しています。私のアプリは (キャンバスやタブではなく) 外部サイトで実行されるため、PHP SDKも機能getUser()
しgetSignedRequest()
ません。という名前の Facebook Cookie しかありませんlocale
。
この場合、Facebook は少なくとも locale/fb_locale パラメータを URL に追加すべきではないでしょうか? ロケールだけが必要なので (これはまったく無害だと思います)、初めての訪問者にロケールのみを取得する許可を求めたくありません。彼らはすでに彼らの言語で持っているリンクをたどっているので、それは実際にはばかげているでしょう.
この問題を解決する考えはありません。アイデアがあれば、事前に感謝します。