0

私はウェブサイトを持っていて、Facebookを使用してログインを使用しています。私は次のことをしたい:

ユーザーが私のWebサイトにアクセスします-Facebookでログインします-私は彼のFacebookデータと写真撮影許可証を読みます

例えば:

{
    "id": "1"
    "name": "John English"
    "first_name": "John",
    "last_name": "English"
    "link": "https://www.facebook.com/johnenglish"
    "username": "johnenglish"
    "gender": "male"
    "locale": "en_US"
     ....
}

{
    "id": "2"
    "name": "John English2"
    "first_name": "John",
    "last_name": "English2"
    "link": "https://www.facebook.com/johnenglish2"
    "username": "johnenglish2"
    "gender": "male"
    "locale": "en_US"
     ....
}

両方のユーザーがプライベート写真を持っています。javascriptを使用してWebアプリケーションでユーザー(id:2)からプライベート写真をロードできますか?例を教えていただけますか?

私はこれを試しました:

FB.getLoginStatus(function(response) {
                if (response.status === 'connected') {
                    var uid = response.authResponse.userID;
                    var accessToken = response.authResponse.accessToken;

                    FB.api('/USER-ID(USER ID 2)/photos?access_token=' + accessToken, function(response) {

            //A user access token is required to request this resource.


                    });



                } else if (response.status === 'not_authorized') {

                } else {
                }
            });

エラー:このリソースをリクエストするには、ユーザーアクセストークンが必要です。

4

2 に答える 2

1

アクセストークンを取得したときに、適切なアクセス許可を要求しましたか?JSでそれを行う方法はわかりませんが、写真にアクセスしてほしいことをFacebookに伝える必要があります。私はJSを使用していないため、URLを介してアクセストークンを要求します(ここのポイント1を参照してください:https ://developers.facebook.com/docs/authentication/devices/ )。パラメータ「スコープ」で、必要な権限を追加できます(https://developers.facebook.com/docs/authentication/permissions/)。ここでは、URLに「&scope = user_photos」(引用符なし)を追加します。

于 2012-07-11T11:50:19.797 に答える
-1

OK、今あなたの質問を理解しました。

すでにユーザー2のIDを知っていると思います。申し訳ありませんが、JSでの方法をお見せすることはできません。しかし、それは役立つかもしれません。

最初、私は1つの許可を忘れました、あなたfriends_photosも範囲内で必要です。

これで、http ://graph.facebook.com/FRIEND_ID/albums/ ?access_token=ACCESS_TOKENに電話します。

それをブラウザに入力して、私が何を意味するのかがわかるようにします。その出力を解析して、友達のアルバムのIDを見つけます。

このアルバムには、http://graph.facebook.com/ALBUM_ID ?access_token=ACCESS_TOKENからアクセスできます。

出力に名前の付いたエントリがcover_photoあります。

http://graph.facebook.com/COVER_PHOTO_ID?access_token=ACCESS_TOKENに電話すると、その写真にアクセスできます。

これで、http://graph.facebook.com/COVER_PHOTO_ID/picture? access_token=ACCESS_TOKENからダウンロードできます。

paging->で指定されたURLを使用nextして、次の写真に移動します。写真を念頭に置いてこれらの手順を実行する方がはるかに簡単です。ここでそれを検討してください

于 2012-07-11T12:25:43.027 に答える