1

これは、Facebook オープン グラフを使用した実装に関する一連の質問です。

そのため、次のように API にクエリを実行します。 $this->facebook->api('me/namespace:action', 'post', $args );

私の最初のクエリは、投稿が表示される場所です。たとえば、次のようにパラメーターを使用して呼び出しを行うとします。

    $args = array(
            //'message'   => 'I just posted a pub review at PubJudge.com',
        'website'=>'www.pubjudge.com',
        'user'=>current_url(),
        'link'      => 'http://www.pubjudge.com/',
        'caption'   => 'Independent, social, pub reviews.'
    );

投稿はタイムラインの [アクティビティ] の下に表示されます

私が理解している限り、ユーザーがアクションを明示的に共有すると、タイムラインに表示されます。これは正しいです?

「fb:explicitly_shared」は $args 配列に渡すべきパラメータですか?

次は、Facebook のカスタム メタ データです。この場合、オブジェクトはユーザーであり、$args 配列を介して URL を渡します。次に、Facebook はこの配列をスクレイピングして、このリンクのカスタム メタ タグからデータを取得します。これは正しいです?この URL は、アクションが開始される URL である必要がありますか? $_GET 変数に基づいてカスタム メタ タグを生成するだけのページを自分の Web サイトに置くことはできませんか? このようにして、この複雑な Facebook のすべてをメイン サイトから独立させることができます。

とにかく、Facebookがこのようなオープングラフアクションのデータを取得する理由を知っている人はいますか?

最後に、Facebook はこのようなデータをスクレイピングするため、ローカルホストでこの機能をテストすることはできません。(実行できますが、非常に複雑になります) 代わりに選択したのは、私のウェブサイトとこの機能をテストするための testing.domain.com アドレスであり、ドメイン.com をメインの安定したライブ サイトとして使用します。

また、メイン アプリとテスト アプリの 2 つのアプリを作成しました。これは、メイン アプリを使用する場合、サイトの URL を testing.domain.com に変更する必要があるためです。これにより、安定したサイトが壊れます。これは適切なアプローチですか?

4

1 に答える 1

3

私が理解している限り、ユーザーがアクションを明示的に共有すると、タイムラインに表示されます。これは正しいです?

それは正解です。詳細については、明示的な共有に関する Facebook ドキュメントを参照してください。ドキュメントから注目されるには、アプリのダッシュボードで明示的に共有できるようにアクションをマークする必要があり、Facebook はそれを承認する必要があります。

「fb:explicitly_shared」は $args 配列に渡すべきパラメータですか?

はい。

次は、Facebook のカスタム メタ データです。この場合、オブジェクトはユーザーであり、$args 配列を介して URL を渡します。次に、Facebook はこの配列をスクレイピングして、このリンクのカスタム メタ タグからデータを取得します。これは正しいです?

はい。Facebook は、渡された URL をスクレイピングして、そのリンクの OG タグからデータを取得できるようにします。

この URL は、アクションが開始される URL である必要がありますか? $_GET 変数に基づいてカスタム メタ タグを生成するだけのページを自分の Web サイトに置くことはできませんか? このようにして、この複雑な Facebook のすべてをメイン サイトから独立させることができます。

いいえ、アクションの生成元の URL である必要はありません。Web サイトに別のページを作成することもできます。実際、JavaScript を使用して、そのページにアクセスしたユーザーをより適切なページにリダイレクトすることもできます。

とにかく、Facebookがこのようなオープングラフアクションのデータを取得する理由を知っている人はいますか?

それはおそらくあなたが思っているよりも深い質問です。要するに、彼らはセマンティック Web を作成しようとしています。長い答えはエッセイになります。

最後に、Facebook はこのようなデータをスクレイピングするため、ローカルホストでこの機能をテストすることはできません。

ほとんどの場合に機能するリバース プロキシを使用できます (リバース プロキシ用のポートを使用している場合、写真に問題があることがわかりました)。それほど複雑ではありません。次のようなものがうまく機能します。

ssh -nN -f -R externalhost.com:49080:localhost:80 your@credentials.biz

メイン アプリとテスト アプリの 2 つのアプリも作成しました。これは、メイン アプリを使用する場合、サイトの URL を testing.domain.com に変更する必要があるためです。これにより、安定したサイトが壊れます。これは適切なアプローチですか?

はい、それは正常です。通常、開発アプリ (localhost)、ステージング アプリ (テスト用の外部ホスト)、および運用アプリがあります。

于 2013-01-14T13:42:28.870 に答える