2017-04-26 97 views
2

我試圖獲取Facebook頁面信息和訂閱源/帖子,特別是每篇文章的文本。 我已經在Facebook上爲開發者註冊了一個新的測試應用程序,並且我獲得了客戶令牌,祕密令牌和ID。我沒有插入任何隱私鏈接或使用條款鏈接,因爲它是個人測試。 在Graph API Explorer中,我得到應用程序訪問令牌,並且正在使用它。使用Facebook-SDK 我可以通過下面的代碼獲取網頁信息:使用Python中的Facebook API圖獲取頁面訂閱源

accessToken = "xxx" 
user = 'BillGates' 

graph = facebook.GraphAPI(accessToken, version='2.7') 

profile = graph.get_object(id=user, fields='id,name,about,link,location,hometown,website', limit=100) 

到目前爲止,沒有任何問題。現在,我希望獲得的職位與此代碼:

posts = graph.get_connections(profile['id'], connection_name='posts', fields='caption,created_time,description,from,link,message,object_id,parent_id,permalink_url,picture,privacy,place,properties,shares,source,status_type,story,to,type,with_tags', limit='100') 

或在此URL建立一個request.get()

url = "https://graph.facebook.com/v2.7/BillGates?fields=feed{caption,created_time,description,from,link,message,object_id,parent_id,permalink_url,picture,source,status_type,type}&limit=100&access_token=xxx" 

但我收到此錯誤:

facebook.GraphAPIError: (#15) Requires session when calling from a desktop app 

我的應用程序聯繫人電子郵件是本機或計算機應用程序(它將在Linux服務器上運行),是公開的,並且只有電子郵件,public_profile和user_friend作爲批准的元素。其他元素不能被批准,因爲我必須填寫註釋,但我無法填充它們。

我的想法是定期爲我要分析的每個頁面請求一個「常規」訪問令牌或訪問令牌。

任何幫助,將不勝感激。

+1

FYI解決:「本機或桌面應用程序」設置爲需要嵌入客戶端代碼的應用程序祕密的應用程序。如果您的服務器上運行了應用程序,則不應將其設置爲「是」。 – CBroe

+0

已解決將「本機或桌面應用程序」設置爲否。謝謝:D –

回答

1

這個問題已經通過使用{} client_access_token作爲

的access_token
url = "https://graph.facebook.com/v2.3/#{fb_id}/apprequests/?access_token=#{client_access_token}" 
相關問題