2013-01-10 169 views
2

道歉,我只能包括2個URL作爲新用戶,所以我不得不經營。Facebook圖形API不返回一個頁面的個人資料圖片

我遇到了一個問題,即Facebook的Graph API中的用戶對象沒有正確返回配置文件映像。我只能找到這個問題的一個案例。對於我測試過的所有其他用途,它似乎正常工作。個人資料圖片似乎沒有任何隱私設置,因爲我可以通過個人資料頁面正常查看它。

我使用Facebook的圖形API通過把該URL到IMG標記加載了一個用戶/頁面的個人資料圖片:

https://graph.facebook.com/[profile-id]/picture?type = square

這適用於我在測試過程中發現的所有情況,包括頁面和用戶。然而,對於我們的用戶在頁面上部署應用程序,該URL會加載問號圖像,就好像該頁面沒有配置文件圖像一樣。他們的網頁顯然有輪廓的圖像,你可以在這裏看到:

http://www.facebook.com/EgansRestaurantPub

但是,如果你點擊進入伊根的日曆選項卡,你會看到問號圖像。圖像是以下URL,它返回的問號:

https://graph.facebook.com/400488613342471/picture?type=square

我使用下面的鏈接格式檢查ID,以保證它的頁面的權限ID:

http://www.facebook.com/pages/[anything]/400488613342471

我的第一個理論是,有疫情週報e個人資料圖片上的隱私設置,但我的個人帳戶(作爲頁面的非粉絲)可以查看個人資料圖片。我唯一的想法是,也許這是因爲該頁面使用一個不包含頁面ID的簡短URL(EgansRestaurantPub)。出於類似的頁面,我發現使用以下工作:

[graphurl] /可口可樂/圖片

[graphurl] /寶馬/圖片

但使用相同的方法,當我的客戶的頁面,它仍然會返回一個問號。

有沒有人知道爲什麼這不會返回此頁面的個人資料圖像?這是我發現這個問題的唯一頁面。

我正在使用PHP SDK和一些JS SDK。我寧願避免再次調用API來延遲加載頁面。這就是爲什麼我喜歡能夠直接將URL插入IMG標籤。但如果沒有別的辦法,我會再打一次電話。

回答

4

似乎有某種限制作爲user文件(圖片字段)中提到:

access_token需要用白名單的網頁/目標 限制,否則不需要access_token

你只需要提供用戶access_token爲此工作:

https://graph.facebook.com/400488613342471/picture?type=square&access_token=XXX 

要測試此操作,您可以直接從Access Token Tool獲取access_token。

+1

是的。看起來頁面的所有者已在此頁面上設置了年齡和/或國家/地區限制,可能是將其標記爲「與酒精相關」。您只能使用符合條件的用戶訪問令牌訪問網頁內容。我會通知所有者並要求他們刪除此限制。 – cpilko

+0

感謝您的幫助。通過將年齡限制設置爲「alchol-related」,我能夠在測試頁面上重現此問題。我還沒有得到access_token的正常工作,但是我會報告成功/失敗。 – NateWr

+0

PHP SDK中的BaseFacebook-> getAccessToken()沒有任何複雜性。我不確定如果訪問令牌是針對不符合年齡限制的用戶會發生什麼情況,但我想他們無論如何都不應該能夠查看該頁面。再次感謝。 – NateWr

相關問題