0

私のアプリには、iOS用のfb sdk(バージョン3.1)を使用した次のfb apiグラフクエリ(元のクエリ)がありました。

NSString *fbquery =  [NSString stringWithFormat:@"search?type=place&center=48.8567,2.3508&distance=1000&limit=40&fields=picture.width(200),cover]; 

これはもう機能しません。ドキュメントを確認したところ、アプリ アクセス トークンを追加することで機能することがわかりました。これは、ios 用の fb sdk (バージョン 3.5.3) 内の次のクエリでうまく機能します。

NSString *fbquery =  [NSString stringWithFormat:@"search?type=place&center=48.8567,2.3508&distance=1000&limit=40&fields=picture,cover&access_token=%@", appDelegate.session.accessTokenData.accessToken]; 

クエリの結果:

{
    data =     (
                {
            id = 165207683494457;
            picture =             {
                data =                 {
                    "is_silhouette" = 0;
                    url = "https://fbcdn-profile-a.akamaihd.net/hprofile-ak-prn2/276836_165207683494457_49288222_q.jpg";
                };
            };
        },
                {
            id = 151161104922563;
            ...
            ...

しかし、元のクエリのように、取得したい画像の幅を指定しようとすると、picture.width(200)次のエラーが発生します。

  {com.facebook.sdk:ParsedJSONResponseKey={
    body =     {
        error =         {
            code = 1;
            message = "An unknown error has occurred.";
            type = OAuthException;
        };
    };
    code = 500;
   }, com.facebook.sdk:HTTPStatusCode=500}

fb 開発者ドキュメントの状態:

  • ページオブジェクトとプレースオブジェクト全体を検索するには、アプリ アクセス トークンが必要です。
  • 他のすべてのエンドポイントには、ユーザー アクセス トークンが必要です。

既にアプリ アクセス トークンを使用しているため、機能するはずですが、機能しません。

私は何をすべきか?問題はどこにありますか?

ユーザー アクセス トークンを試してみることをお勧めしますが、これを .xml ファイルから取得するにはどうすればよいappDelegate.sessionですか? そこにユーザー アクセス トークンが見つかりませんでした。

私は現在使用しています(上記のように、バージョン3.5.3のios用のfb sdk.

4

1 に答える 1

0

Facebook グラフ API が変更され、画像 ID がわかっている場合に画像を取得するよりスマートな方法が提供されるようになりました

この URL を使用して、必要な解像度の画像の URL にリダイレクトできます。

@"https://graph.facebook.com/%llu/picture?width=256&height=256&access_token=%@"

ここで、%llu は画像 ID の場所であり、%@ は fb トークンです。

そのため、fql リクエストを小さくすることができ、必要な解像度に応じて URL を動的に構成できます。

于 2013-06-27T12:19:28.433 に答える