1

私は FB.UI API を使用して、ユーザーがウォールに投稿できるようにしています。そのためのコードは次のとおりです。

FB.ui(
  {
    method: 'feed',
    name: name,
    link: linkPath, 
    picture: thumbnailPath,
    caption: iconName,
    description: 'Come check out my my awesome post'
  },
  function(response) {
    if (response && response.post_id) {

      alert('Post was published!');
    } else {
      alert('Post was not published!');
    }
  }
);

通常、これは正常に機能し、「thumbnailPath」からリンクされた画像を表示する Facebook ダイアログがポップアップしますが、安全なブラウジングを有効にしたテスト アカウントを使用すると、サムネイルが表示されず、ウォールに投稿されたときに画像がありません。 . これを MAMP Pro サーバーから実行していますが、MAMP の「自己署名証明書の生成」機能を使用して証明書を作成したため、有効な証明書ではありません。これが私のサムネイルが表示されない理由なのだろうかと思っています。変数「thumbnailPath」でリンクされたパスに移動すると、問題なく表示されます。これを Chrome、Safari、Firefox でテストしたところ、すべてのブラウザで同じ動作が得られました。

無効な証明書がこの問題の原因である可能性が高いのでしょうか、それとも意味がありませんか? 同様の問題を説明している他のリンクをオンラインで見つけることができなかったため、これが私の証明書と関係があるかどうかはわかりません.

4

2 に答える 2

1

有効な証明書がない場合、FB は画像などのメタデータを含む https 経由でオブジェクトをスクレイピングできません/スクレイピングしません。実際の証明書を取得してから、FB がDebuggerを使用して URL をスクレイピングできることを確認してください。

また、これが真新しいオブジェクトで、そのオブジェクトに何も公開されていない場合、FB はそのオブジェクトが存在することを認識しません (そして表示するサムネイルがありません)。デバッガーを使用するか、プログラムで GET/curl を使用してプリエンプティブ スクレイプを開始できます(「オブジェクトの更新」、https://developers.facebook.com/docs/opengraph/objects/を参照)。

apps.facebook.com (Canvas) でアプリを公開する場合、安全な閲覧のために有効な証明書も必要です。

アプリをテストするだけの場合は、アプリ ダッシュボードを使用してアプリをサンドボックス モードにすることができます。これにより、管理者、テスター、および [役割] セクションで定義した他のユーザーが、http を使用して Canvas でアプリを使用できるようになります (必須ではありません)。安全な閲覧)。

于 2012-11-02T18:16:37.933 に答える
1

サムネイルを常にhttpsアドレスではなくhttpアドレスにリンクするようにするだけで問題を解決しました。これを行った場合、サムネイルは常に表示されます。

于 2013-02-25T17:17:55.763 に答える