我们正在制作游戏,对于那个游戏,我需要1)在私人团体的墙上获取所有消息2)解析新消息,因为我上次检查3)其他不相关的东西.
我已经写过,问题是我的访问令牌不时到期.如何从python脚本获取新的访问令牌?这个python脚本将运行几个星期,我不能不时在半夜醒来,点击一个对话框,授予读取该组墙的权限.
此外,我发现这个python代码here,我试图用它来获取访问令牌,但我对oauth_args一无所知:
def grabAccessToken ():
print "grabbing access token..."
oauth_args = dict(
client_id = "000000000000000",
client_secret = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
redirect_uri = 'http://domain.com/',
scope = "user_groups"
)
oauth_curl_cmd = [
'curl',
'https://graph.facebook.com/oauth/access_token?' + urllib.urlencode(oauth_args)
]
oauth_response = subprocess.Popen(
oauth_curl_cmd,
stdout = subprocess.PIPE,
stderr = subprocess.PIPE
).communicate()[0]
print oauth_response
try:
oauth_access_token = urlparse.parse_qs(str(oauth_response))['access_token'][0]
print "got access token: "+oauth_access_token
return(oauth_access_token)
except KeyError:
return('ENOTOKEN')
它不断响应“{”错误“:{”message“:”缺少授权码“,”类型“:”OAuthException“,”code“:1}}”
简而言之:一个独立的Python脚本如何在很长一段时间内继续阅读Facebook Group Wall?
解决方法:
In short: How can a stand-alone Python script keep reading a Facebook Group Wall for a lot of time ?
没有用户交互,您无法获得新的访问令牌.这就是弃用offline_access的重点.
因此,当现有应用程序到期时,您必须重新访问您的应用程序以获取新令牌.
我建议在您的数据库中存储您的长期访问令牌及其到期日期,然后让您的应用程序在后台发送电子邮件,如果到期日期即将到来.选择你认为合适的时间范围 – 提前几天,一两周,无论你喜欢什么.
标签:python,facebook,oauth,facebook-graph-api,facebook-oauth