0

UITableViewCellSparrowと同じように、受信トレイのsに送信者のプロフィール写真を表示するiPhoneメールクライアントを作成しています。これらの画像を取得するには、次のFQLクエリを使用しています。

SELECT 
    pic_big 
FROM 
    user 
WHERE 
    uid IN (SELECT uid2 FROM friend WHERE uid1 = me()) 
        AND 
    strpos(lower(name),'INSERT_FIRST_THREE_LETTERS_OF_FIRST_NAME_HERE') >= 0 
        AND 
    strpos(lower(name),'INSERT_LAST_NAME_HERE') >= 0 
ORDER BY name

メールヘッダーから送信者の名前を取得し、ニックネームを説明するためにフルラストネームとファーストネームの最初の3文字を使用してユーザーのFacebookの友達を検索します。これは全体としてかなりうまく機能します。

ただし、Sparrowは、私が友達でもないユーザーのためにFacebookからプロフィール写真を取得することができます。これはどのように可能ですか?クエリは友達のような特定のグループに限定されていましたが。そして、その電子メールアドレスの検索は有効ではありませんでしたか?これは正しいです?Sparrowはこれらのプロフィール写真をどのように取得しますか?

4

2 に答える 2

3

ユーザーのFacebookIDを知っている限り、これは長い数字ですが、文字列として扱います。このURLを使用して、プロフィール写真を取得できます。

https://graph.facebook.com/[id]/picture

これ以上複雑なものは必要ありません。

于 2012-08-17T21:15:20.707 に答える
2

次のAPI呼び出しを行うことで、既知のユーザーのuser_idをメールから取得できます。

 /search?type=user&q=USER@EMAIL.NET

彼らの電子メールがFacebookに登録されて公開されている場合は、名前とユーザーIDを含むJSONオブジェクトが返されます。IDから写真を取得するには、別の呼び出しを行う(またはバッチリクエストを使用する)必要があります。

于 2012-08-18T02:26:11.197 に答える