Python 什么是Facebook实时API中的验证令牌
我正在尝试用我的应用程序实现Facebook实时api。我想从我的“facebook页面”中获取提要。 我已获得应用程序访问令牌Python 什么是Facebook实时API中的验证令牌,python,facebook,real-time,facebook-authentication,Python,Facebook,Real Time,Facebook Authentication,我正在尝试用我的应用程序实现Facebook实时api。我想从我的“facebook页面”中获取提要。 我已获得应用程序访问令牌 app_access_token = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxx' url = 'https://graph.facebook.com/' + FB_CLIENT_ID + '/subscriptions?access_token=' + app_access_token url_params = {'access_t
app_access_token = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxx'
url = 'https://graph.facebook.com/' + FB_CLIENT_ID + '/subscriptions?access_token=' + app_access_token
url_params = {'access_token':app_access_token,'object':'page', 'fields':'feed', 'callback_url':'http://127.0.0.1:8000/fb_notifications/', 'verify_token' : 'I am taking a random string here...'}
urlResponse = call_url(url, url_params)
每次我使用url参数调用url时,都会得到错误:HTTP错误400:错误请求
但是如果我调用没有url参数的url,我会得到{data:[]}
请注意,在url参数中,我使用的是verify_token,一个随机字符串和callback_url,它与facebook应用程序的redirect_url参数不同。只是想知道是否有必要将相同的url放在这里
请告诉我我做错了什么?
我使用python/django来实现。使用POST而不是GET,使用空的body&object、字段、callback\u url和verify\u token作为url中的查询参数传递
请参阅。使用POST而不是GET,使用空的正文和对象、字段、回调\u url和验证\u标记作为url中的查询参数传递 看。我已经弄明白了。。。 . . . . 向url发出POST请求:
'https://graph.facebook.com/' + FB_CLIENT_ID + '/subscriptions?access_token=' + app_access_token + '&object=page&fields=name&callback_url=' + YOUR_CALLBACK_URL + '&verify_token=' + ANY_RANDOM_STRING + '&method=post'
将{}作为post参数传递。。。。。
确保可以访问您的\u回调\u url。它在本地主机上不起作用我想是的。。。我无法在本地主机上测试它
因此,在Python中,代码应该是:
url = 'https://graph.facebook.com/' + FB_CLIENT_ID + '/subscriptions?access_token=' + app_access_token + '&object=page&fields=name&callback_url=' + YOUR_CALLBACK_URL + '&verify_token=' + ANY_RANDOM_STRING + '&method=post'
url_params = {}
urlResponse = urllib2.urlopen(url, urllib.urlencode(url_params), timeout=socket.getdefaulttimeout()).read()
urlResponse应该为null
带有回调url的函数应返回:
def callback_function(request):
if request.GET: #(Handle this properly!!!)
return request.GET.get('hub.challenge') #hub_challenge for PHP Developers. :)
如果有任何疑问,请告诉我
要了解如何处理来自FB的通知:
请访问以下网址:
我已经弄明白了。。。
.
.
.
.
向url发出POST请求:
'https://graph.facebook.com/' + FB_CLIENT_ID + '/subscriptions?access_token=' + app_access_token + '&object=page&fields=name&callback_url=' + YOUR_CALLBACK_URL + '&verify_token=' + ANY_RANDOM_STRING + '&method=post'
将{}作为post参数传递。。。。。
确保可以访问您的\u回调\u url。它在本地主机上不起作用我想是的。。。我无法在本地主机上测试它
因此,在Python中,代码应该是:
url = 'https://graph.facebook.com/' + FB_CLIENT_ID + '/subscriptions?access_token=' + app_access_token + '&object=page&fields=name&callback_url=' + YOUR_CALLBACK_URL + '&verify_token=' + ANY_RANDOM_STRING + '&method=post'
url_params = {}
urlResponse = urllib2.urlopen(url, urllib.urlencode(url_params), timeout=socket.getdefaulttimeout()).read()
urlResponse应该为null
带有回调url的函数应返回:
def callback_function(request):
if request.GET: #(Handle this properly!!!)
return request.GET.get('hub.challenge') #hub_challenge for PHP Developers. :)
如果有任何疑问,请告诉我
要了解如何处理来自FB的通知:
请访问以下网址:
在“我的代码调用”中,url发出一个POST调用。。。代码-urlresponse=urllib2.urlopenurl,urllib.urlencodeurl_参数,timeout=socket.getdefaulttimeout.read。。。。在从url_参数中删除access_令牌后,我尝试了。。。仍然不起作用……:根据你的评论更新了我的答案。不。。。。仍然不工作。。。你能给我提供一些订阅Facebbok实时api的示例代码吗。。。。谢谢…:我已经用Java实现了这一点,并发布到https://graph.facebook.com/${APP\u ID}/subscriptions?access\u token=XXX&object=user&fields=feed&verify\u token=YYY&callback\u url=http://example.com 在我的代码调用中,url发出一个POST调用。。。代码-urlresponse=urllib2.urlopenurl,urllib.urlencodeurl_参数,timeout=socket.getdefaulttimeout.read。。。。在从url_参数中删除access_令牌后,我尝试了。。。仍然不起作用……:根据你的评论更新了我的答案。不。。。。仍然不工作。。。你能给我提供一些订阅Facebbok实时api的示例代码吗。。。。谢谢…:我已经用Java实现了这一点,并发布到https://graph.facebook.com/${APP\u ID}/subscriptions?access\u token=XXX&object=user&fields=feed&verify\u token=YYY&callback\u url=http://example.com 请接受我上面的答案,而不是你自己的答案——即使它不是Python,它给了你解决方案。当然是的。你给出了解决方案。。。再次非常感谢……:请接受我上面的答案,而不是你自己的答案——即使它不是Python,它给了你解决方案。当然是的。你给出了解决方案。。。再次非常感谢……:-1:问题本身和公认的答案都与问题的标题无关。搜索结果返回这个问题,这是没有帮助的。-1:问题本身和接受的答案都与问题的标题无关。搜索结果返回此问题,但没有帮助。