Facebook:如何以编程方式检索访问令牌?

Jos*_*mit 5 facebook facebook-graph-api

我需要在自己的 Facebook页面上发布消息; 我需要以编程方式(在我的情况下使用Python).我设法使用此代码(在Python中)执行此部分:

import urllib, urllib2

access_token='XXXX'
fb_page_id='YYYY' # my page ID

post_data = {'access_token':access_token, 'message':'hey this is a test!'}
request_path = str(fb_page_id)+'/feed'
post_data = urllib.urlencode(post_data)
response = urllib2.urlopen(
    'https://graph.facebook.com/%s' % request_path, post_data
)
Run Code Online (Sandbox Code Playgroud)

正确返回FB页面上生成的帖子的ID:

In [11]: response.readlines()
Out[11]: ['{"id":"135386143198208_461964357207050"}']
Run Code Online (Sandbox Code Playgroud)

问题:

为了生成access_token并发出上面的API请求,我必须手动执行此处详述的三个步骤.

但实际上这个手动过程是不可接受的,因为我需要从一个cron作业运行这个任务.因此,我需要自动化它,因为access_token在Facebook中是暂时的.即每次运行此脚本时我都需要获取访问令牌.怎么做?

只要您传达相关步骤,就可以在答案(curl,JavaScript,Java,PHP)中随意使用任何脚本工具.请注意,我需要使用任何服务器端语言(Python/Ruby/PHP)来完成此操作.

Jam*_*rce 4

如果您延长(用户)访问令牌,则可以请求实际上根本不会过期的(页面)访问令牌。

请参阅以下文档的“扩展页面访问令牌”部分:https://developers.facebook.com/docs/howtos/login/extending-tokens/