Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 什么是Facebook实时API中的验证令牌_Python_Facebook_Real Time_Facebook Authentication - Fatal编程技术网

Python 什么是Facebook实时API中的验证令牌

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

我正在尝试用我的应用程序实现Facebook实时api。我想从我的“facebook页面”中获取提要。 我已获得应用程序访问令牌

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:问题本身和接受的答案都与问题的标题无关。搜索结果返回此问题,但没有帮助。