我正在开发一个 ruby 脚本,将我的 Facebook 页面上的每个新内容作为帖子推送。我知道访问令牌将在两个小时后过期,那么我该怎么做呢?
现在这段代码有效,因为我手动设置了“user_access_token”(但 2 小时后过期)。这是我公司的 Facebook 页面,链接到我的 Facebook 应用程序。我应该每两个小时点击一次“Facebook 连接”并授予新的访问令牌吗?
@user_graph = Koala::Facebook::API.new(user_access_token)
pages = @user_graph.get_connections('me', 'accounts')
# get access token for first page
first_page_token = pages.first['access_token']
# or: retrieve access_token for a given page_id
page_token = @user_graph.get_page_access_token(page_id)
@page_graph = Koala::Facebook::API.new(page_token)
@page_graph.put_wall_post('post on page wall') # post as page, requires publish_stream permission
我从这里获得了“页面访问令牌”
但一小时后它就会过期
[解决]
要获得扩展的页面访问令牌,请将用户访问令牌换成长期使用的令牌,然后请求页面令牌。这个页面的“扩展”令牌实际上没有任何到期时间。
https://developers.facebook.com/docs/howtos/login/extending-tokens/#step1
我已经解决了执行 curl 请求,并在我的代码中手动保存“页面访问令牌”