問題タブ [indieweb]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
facebook - Facebook Graph API: 投稿 URL からグラフ オブジェクトを検索
Facebook の公開投稿の URL が与えられた場合、FB グラフ API で投稿オブジェクトを見つけるにはどうすればよいでしょうか? (2 つ目として、API を介してアクセスすると、非常に多くのユーザー フィードが空またはほとんど空になるのはなぜですか?)
投稿の URL を指定して、v2.x Graph API を介して投稿にコメントしたり、いいね! をしたりできるようにしたいと考えています。これを行うには、投稿のオブジェクト ID が必要であり、これについてある程度の推測を行うことができますが、API を介して実際のオブジェクトにアクセスすることは信頼できないことが証明されています (一部の投稿では機能しますが、他の投稿では機能しません)。
API の v2 では、アプリ スコープのユーザー IDが導入されました。投稿 ID は通常、{アプリ スコープのユーザー ID}_{一意の投稿 ID} の形式のようです。これらの ID (グローバル ユーザー ID、アプリ スコープのユーザー ID、および投稿 ID) のさまざまな組み合わせを使用して、API で投稿を検索するいくつかの試みの詳細を次に示します。
簡単な例から始めます: https://www.facebook.com/evan.prodromou/posts/10153023417510505 . 主な特徴は、公開されていること、別の投稿の共有ではないこと、そして最も重要なことは、写真がないことです。これにより、個々の写真と写真セットに追加の ID と URL が追加されます。エヴァンのプロフィールも公開されています.
その URL、 /v1.0/ 10153023417510505および/v2.2/10153023417510505から裸の投稿 ID を試行すると、サポートされていない取得要求(コード 100) エラーが発生します。
Evan のグローバル ユーザー ID は 525575504 です。プレフィックスとして/v1.0/525575504_10153023417510505と/v2.2/525575504_10153023417510505を付けても、同じUnsupported get requestエラーが発生します。
代わりにアプリ スコープのユーザー ID /v2.2/10152350676805505_10153023417510505を使用した同じエラー。
よし、別の方向を試してみましょう。問題の投稿が見つかるまで、ユーザーのフィードをページングします。これは、APIの予想される使用例のように感じます...
グローバルな/v2.2/525575504/postsとアプリ スコープの/v2.2/10152350676805505/postsはどちらも何も返しませんが、/v1.0/525575504/postsは 2 つの最近の投稿 ( this likeとthis post ) を返します。他にも最近の公開投稿がたくさんあるのに、なぜこれら2つだけなのかはわかりません。/v1.0/525575504_10153045879215505と/v2.2/10152350676805505_10153045879215505の両方の API バージョンで、 like はその
id
フィールドを介して取得できますが、両方の API バージョンは、 /v1などの id フィールドを介して投稿を取得すると、サポートされていない取得要求エラーを返します。 0/525575504_351575675029953および/v2.2/10152350676805505_351575675029953別の公開投稿を試してみてください。これは写真付きです: https://www.facebook.com/andigalpern/posts/678121182314631 . /v1.0/100003502653187_678121182314631、/v2.2/100003502653187_678121182314631、および/v2.2/499657186827699_678121182314631すべてのエラー。
/v1.0/100003502653187/postsには 1 つの投稿 (いいね!) のみが含まれ、/ v2.2/ 100003502653187 /postsは空です。
参考までに、この問題を追跡しているGitHub の問題を次に示します。