6

Facebook Graph API を使用して、Facebook イベントからすべての写真とビデオを取得しようとしています。

現在/{event-id}/feed、ここで説明されているエンドポイントを使用していますhttps://developers.facebook.com/docs/graph-api/reference/v2.6/event/feed

必要なフィールドを指定することで、このエンドポイントから必要なものをほぼすべて取得できますが、フル解像度のビデオへの URL を取得するのに問題があります。別の API 呼び出しを行うことで簡単に取得できますが、可能であれば、すべての動画に対して別の API 呼び出しを行うことは避けたいと考えています。

/{event-id}/feedエンドポイントは の配列を返すことに注意してください。これは、クエリ パラメーターPost objectsを使用してクエリしているものです。fields

https://developers.facebook.com/docs/graph-api/reference/v2.6/post

/{event-id}/feedエンドポイントを呼び出すときに指定するフィールドは次のとおりです

https://graph.facebook.com/v2.6/{event-id}/feed?fields=attachments,id,created_time,caption,from,name,message,message_tags,source,type,status_type,properties,object_id,picture&access_token={access-token}

このattachmentsフィールドには、高解像度のビデオの画像 URL とビデオ自体の ID が表示されます。/{video-id}これは、エンドポイントを使用してビデオ URL を高解像度で取得するためだけに、追加の API 呼び出しを行う必要があることを意味します。

"attachments": {
        "data": [
           {
              "media": {
                 "image": {
                    "height": 405,
                    "src": "https://scontent.xx.fbcdn.net/v/t15.0-10/s720x720/13433040_10154318390596912_1315696369_n.jpg?oh=46987fa671df2deca3ce935a68e1ff30&oe=58008D60",
                    "width": 720
                 }
              },
              "target": {
                 "id": "10154318389716912",
                 "url": "https://www.facebook.com/{username-removed}/videos/10154318389716912/"
              },
              "type": "video_autoplay",
              "url": "https://www.facebook.com/{username-removed}/videos/10154318389716912/"
           }
        ]
     }

フィールドには、低解像度のビデオへのsourceリンクが表示されます。

"source": "https://video.xx.fbcdn.net/v/t42.1790-2/13543016_152852391800500_1248221173_n.mp4?efg=eyJybHIiOjMxMywicmxhIjo1MTIsInZlbmNvZGVfdGFnIjoic3ZlX3NkIn0\u00253D&rl=313&vabr=174&oh=f0f42856741b81030ea529fe89f80834&oe=5771B45B"

フィールドにはobject_id動画 ID が表示されます。

このpropertiesフィールドは、ビデオの長さを示します。

だから私は運が悪い。高解像度ビデオの URL を取得するネストされた呼び出しを行うことができるかどうか、またはビデオに 302 リダイレクトを返すビデオ ID を使用してエンドポイントを呼び出すことができるかどうか疑問に思っています。パラメータをソース URL に変更できますか?

どんな助けでも大歓迎です。ありがとう!

4

1 に答える 1

2

" ...高解像度ビデオの URL を取得するネストされた呼び出しを行うことができるかどうか疑問に思っています ... "

解決策:

必要なすべての API 呼び出しを一度に行うには、Graph API でバッチ リクエストを試すことができます。

次のドキュメントと例を参照してください。Facebook API - Making Multiple Requests

ドキュメントからの引用:

" ... バッチ処理を使用すると、単一の HTTP 要求で複数の操作の命令を渡すことができます。また、関連する操作間の依存関係を指定することもできます (以下のセクションで説明します)。Facebook は、独立した各操作を並行して処理し、依存関係を処理します。すべての操作が完了すると、統合された応答が返され、HTTP 接続が閉じられます。

ご覧のとおり、複数のリクエストを作成し、それらの間に依存関係を作成することです。
そのため、video_id必要な解像度でビデオをすぐにリクエストできます。

于 2016-07-06T18:36:39.960 に答える