2013-07-18 33 views
3

我一直在使用下面的链接很长一段时间来在图API上搜索Facebook应用程序。请参阅下面的链接,在其中搜索带有单词“宾果”的应用程序。获取Facebook访问令牌以进行图API应用程序搜索

https://graph.facebook.com/search?type=application&q=bingo

一切运行良好,直到七月,当Facebook所做的更改10日,见下面的https://developers.facebook.com/docs/reference/api/search/#access_tokens找到的文字:

的图形API搜索界面已与2013年第三季度的迁移挂​​起的更改。请参阅博客文章,了解更改内容的更多信息。在博客文章中所列的变化就会出现在7月10日,2013年

现在,我试图遵循https://developers.facebook.com/docs/reference/api/search/#access_tokens例子让应用程序访问令牌和附加=的access_token到上面的链接(https://graph.facebook.com/search?type=application&q=bingo),但我仍然得到来自Facebook的相同回应图:

{ 
    "error": { 
     "message": "(#200) Must have a valid access_token to access this endpoint", 
     "type": "OAuthException", 
     "code": 200 
    } 
} 

有没有人知道如何解决这个问题?

回答

0

您必须将您的访问令牌编码到您的请求的http标头中。使用Facebook 1.1 API,建议使用oauth2 lib for python。

import oauth2 
import urllib 

access_token_key = "Your token key" 
access_token_secret = "Your token secret" 

consumer_key = "Your consumer key" 
consumer_secret = "Your consumer secret" 


oauth_token = oauth.Token(key=access_token_key, secret=access_token_secret) 
oauth_consumer = oauth.Consumer(key=consumer_key, secret=consumer_secret) 


req = oauth2.Request.from_consumer_and_token(oauth_consumer, 
              token=oauth_token, 
              http_method=http_method, 
              http_url=url, 
              parameters=parameters) 

req.sign_request(signature_method_hmac_sha1, oauth_consumer, oauth_token) 

    headers = req.to_header() 

    if http_method == "POST": 
    encoded_post_data = req.to_postdata() 
    else: 
    encoded_post_data = None 
    url = req.to_url() 


urllib.urlopen(url, encoded_post_data) 

要获得您的oauth标记和秘密,您需要使用twitter定义并注册您的应用程序。 (http://developers.twitter.com

最好的问候, 戴夫

+1

感谢戴夫,我真的很感谢您的帮助!你能否解释Twitter消费者密钥+秘密与Facebook API有何关系?另外http_url = url中的url参数是在Facebook上搜索应用程序的url,对吧? – Ami

+0

这个回应似乎不准确。如果查看facebook搜索API的文档。它声明需要Access令牌(不是传统的誓言令牌)。 https://developers.facebook.com/docs/reference/api/search/ – Thom

+0

对不起,我把twitter和facebook完全搞混了。不知道这个答案是否有助于你的任何与Facebook。 – TubbyToaster

相关问题