Python 从graph api生成post,使其返回以下错误:必须使用活动访问令牌查询有关当前用户的信息

Python 从graph api生成post,使其返回以下错误:必须使用活动访问令牌查询有关当前用户的信息,python,facebook-graph-api,post,Python,Facebook Graph Api,Post,我想在python中共享来自GraphAPI的帖子 import requests import urllib host = "https://graph.facebook.com" path = "/oauth/access_token" params = urllib.urlencode({"client_id":"XXXXXXX","client_secret": 'XXXXXXXXXXXXXXXXXXXXXXXXX','grant_type': 'client_credentials

我想在python中共享来自GraphAPI的帖子

import requests
import urllib


host = "https://graph.facebook.com"
path = "/oauth/access_token"
params = urllib.urlencode({"client_id":"XXXXXXX","client_secret": 'XXXXXXXXXXXXXXXXXXXXXXXXX','grant_type': 'client_credentials'})

url = "{host}{path}?{params}".format(host=host, path=path, params=params)

r = requests.get(url)
print "r",r


payload = {'grant_type': 'client_credentials', 'client_id': 'XXXXXXXXXXXXXXX', 'client_secret': 'XXXXXXXXXXXXXXXXXX'}
file = requests.post('https://graph.facebook.com/oauth/access_token?', params = payload)    
result = file.text.split("=")[1]
print "result",result


param = {'client_id':'XXXXXXXXXXXX', 'access_token':result}
file_one = requests.post('https://graph.facebook.com/oauth/access_token_info?', params = param)
print "access token info file",file_one
print "access token info file.text",file_one.text


host = "https://graph.facebook.com"
path = "/me/feed"
params = urllib.urlencode({"message":"Hello, World.","access_token": file.text.split("=")[1]})
url = "{host}{path}?{params}".format(host=host, path=path, params=params)
r = requests.post(url)
print "value of r",r
print "r.text",r.text
我得到了令牌,但当我试图在fb中发布时,它返回错误,如

{“error”:{“message”:“必须使用活动访问令牌来查询有关当前用户的信息。”,“type”:“OAutheException”,“code”:2500,“fbtrace_id”:“G3PcKSN1mFA”}


在facebook中,有三种类型的令牌1)用户令牌2)应用令牌3)页面令牌,但我需要上面脚本中的usertoken i get app token而非user token您能给出我们如何获取用户令牌的解决方案吗?嗨,我从get app access token中找到了我的解决方案,然后将它们转换为用户访问令牌此链接对我很有用


看起来您只是在使用应用程序访问令牌-不能与
/me
一起使用。如果你想以用户身份发布,那么你首先必须让用户登录并授予你的应用发布权限。@CBroe能否请你解释一下,我们如何在登录时要求提供发布权限。没有登录还有别的方法吗?如果您希望其他用户使用您的应用程序,您仍然需要实现登录。