2012-07-11 57 views
0

我有一個網站,並使用登錄使用Facebook。 我要做到以下幾點:我可以從facebook用戶加載我的webapp的私人照片嗎?

用戶來到我的網站 - 與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 { 
       } 
      }); 

錯誤:用戶訪問令牌需要請求該資源。

+0

乍一看,你有錯字嗎? '「link」:「https://www.facebook.com/johenglish」'應該是''link「:」https://www.facebook.com/johnenglish「'? – Sirch 2012-07-11 11:47:00

+0

這僅僅是一個例子。我想加載其他用戶的私人照片。 – Jenan 2012-07-11 11:49:18

回答

1

當您獲得訪問令牌時,您是否請求了正確的權限?我不知道如何在JS中做到這一點,但你必須告訴Facebook,你希望你能夠訪問照片。由於我不使用JS,我通過URL請求訪問令牌(請參閱第1點:https://developers.facebook.com/docs/authentication/devices/)。在參數「範圍」中,您可以添加您想要的權限(https://developers.facebook.com/docs/authentication/permissions/)。在這裏,您將「& scope = user_photos」(不帶引號)添加到URL。

+0

我有範圍:'email user_photos user_birthday' 我不知道如何加載來自其他用戶的私人照片。我是ID:1的用戶。我可以使用我的web應用程序加載來自ID爲2的用戶的私人照片嗎? – Jenan 2012-07-11 11:57:09

+0

看到我的其他答案 – 2012-07-11 20:29:56

+0

它適合你嗎? – 2012-07-14 08:26:31

-1

好的,現在我明白你的問題了。

我認爲你已經找到了用戶2的ID。我很抱歉,但我仍然不能告訴你如何在JS中做到這一點。雖然,它可能會有所幫助。

起初,我忘了一個許可,你也需要在範圍內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進行下載。

使用pagingnext中給出的URL轉到以下照片。考慮到這一點,按照這些步驟更容易,請考慮here

相關問題