1

私のアプリでは、すべてのユーザーの FB コンテンツ (ステータスの更新、写真、ビデオ) を取得する必要があります。ウォール/タイムラインの投稿を取得するとき、次のリクエストを行います。

  1. フィード: http://graph.facebook.com/me/feed?access_token= ...
  2. 投稿: http://graph.facebook.com/me/posts?access_token= ...
  3. ステータス: http://graph.facebook.com/me/statuses?access_token= ...
  • 現在のユーザーの 3 種類の要素 (ステータスの更新、写真、ビデオ) をすべて取得します。

写真を取得するとき、最初にアルバムリクエストを行います:

http://graph.facebook.com/me/albums?access_token= ...

次に、アルバムごとに写真を入れます。

一部のアルバム (「ウォール フォト」や「モバイル フォト」など) には、ウォール/タイムライン リクエストを行った後に既に持っている写真が含まれているため、それらの写真は再度必要ありません。これらのアルバムをスキップしたいのですが、これまで (PHP で) 簡単な条件を使用してきました:

if ( !in_array($album->type, array('wall','mobile')) ) { ... }

しかし今、壁/タイムラインに既に表示されている写真を含む他のアルバムがあるかもしれないことがわかりました - この場合は「Instagram Pics」. 問題は、ユーザーが手動で作成したアルバムと同じように、このアルバムの type = normal が設定されていることです (これらは処理する必要があるアルバムです)。もちろん、次のような条件を追加できます。

... && ($album->name != 'Instagram Pics')

しかし、アルバムの名前が変わると、これは有効な条件ではなくなりますので、避けたいと思います。さらに、壁に表示されている写真を含む他の種類のアルバムがあり、同じ問題が再び発生する可能性があることを認識しています.

これに関するもう1つの問題は、2つのアイテム(アルバムに保存された写真と壁に投稿された写真)のIDが異なるため、この方法でダブルを識別できないことです。

私の質問は次のとおりです。ユーザーの個人アルバムを処理するときにそれらをスキップできるように、ウォール/タイムラインにも表示される (= ウォール投稿を要求するときに表示される) 写真を含むアルバムを特定するにはどうすればよいですか? ありがとうございました。

4

0 に答える 0