我正在开发一个应用,其中我要做的其中一件事就是代表用户离线发布状态。那是用户没有使用该应用程序。 facebook的文档不清楚访问令牌的有效性,特定调用所需的访问令牌类型(如发布流),如何更新它等等。我正在使用PHP Facebook SDK。它有一个函数setExtendedAccessToken()
。但它是用于延长客户端获得的短期访问令牌60天(有一些例外情况)。如果我有一个通过服务器到服务器调用获得的长期访问令牌,该怎么办?更具体地说,通过调用$facebook->getAccessToken()
方法。我使用以下代码在离线模式下发布。
$req = array(
'access_token' => $access_token, //stored in db, obtained thru getAccessToken()
'name' => "Awesome Status!",
'link' => "apps.facebook.com/myapp",
'description' => "Some Description",
'picture'=>"xxx.jpg",
'caption' => "Caption this"
);
$res = $facebook->api("/$userid/feed", 'POST', $req);
谢谢!
增加:
尝试使用setExtendedAccessToken
函数,但它不会改变任何内容。我甚至检查了访问令牌信息here。我认为它适用于短期的,客户端生成的令牌。
答案 0 :(得分:3)
您可以使用应用访问令牌 (APP_ID|APP_SECRET)
代表用户离线发布;一旦用户授权您的应用。