2012-03-02 16 views
3

私はFacebookのユーザーのすべてのプロフィール画像を取得しようとしています。これまでのところ、私は "me/albums"を見なければならないことがわかりました。そして、私が望むアルバムはtype: 'profile'の唯一のものです。Facebookの写真の写真アルバムを取得する

また、typeでフィルタリングできないことがわかりました。だから私には唯一の方法は、すべてのアルバムを取得し、私が欲しいものを探しているようです。しかし、私のユーザーがたくさんのアルバムを持っていて、facebookからの最初の応答には、私が望むアルバムが含まれていないとしましょう。私は次のページを得るために別の要求をしなければならない。

私の質問は以下のとおりです。

  • は本当にtypeにフィルタリングする方法はありませんか?
  • プロファイル写真のアルバムが「どこ」(ページワイズ)であるかを前提にすることはできますか?

現在、すべての(最大300個の)アルバムを検索して、それらを見ていますが、時間がかかりすぎます。したがって、質問、私たちはこの部分を最適化する必要があります。それが価値があるのは、facebookのやりとりを扱うCorealaの3つのアプリです。

あなたはこれが直接のみプロフィール写真を戻ります

https://graph.facebook.com/me/fql?q=select+aid+from+album+where+owner=me()+and+type="profile"&access_token=... 

更新

を使用することができます

+1

はfaceboolのプログラマーのためのfacebookですか? :)私はタイトルを編集しました。 – vulkanino

+0

ごめんなさい、ありがとうございます。 :) – ksol

答えて

7

https://graph.facebook.com/me/fql?q=select+pid,src_small+from+photo+where+aid+in(select+aid+from+album+where+owner=me()+and+type="profile")&access_token=... 
+0

ありがとう、それは動作します。なぜ私は以前に試したときに 'WHERE type = 'profile''を使用するとエラーが出るのか分かりません。 – ksol

+0

他のグラフAPI呼び出しを行う場合、" aid "の代わりにobject_idが必要な場合があります: SELECT object_id FROM album WHERE owner = me()and type = "profile" –

+0

何らかの理由で、FQLが私のために働いていない - 私はそれを試してみるためにグラフエクスプローラを使っています。あなたはそれを再フォーマットできますか? – daspianist

-1

いいえ、特にプロフィール写真のアルバムを取得する方法はありませんグラフAPIでユーザーの基本情報に返されるので、現在のプロフィール画像を簡単に取得できます。

1つのコール(/me/albums?fields=name&limit=500)ですべてのアルバム名を取得し、コードでループするのはなぜですか?それは本当にそれを長く取ることができません、それは?

{編集}アレクサンダーの解決策もうまくいくはずですが、私はそれをチェックしませんでした。

+0

この回答の合計投票が負ではないことを私に驚かせました... –

+0

ルーピングは非常に遅い可能性があります。 – bobo2000

関連する問題