繁体   English   中英

无需登录用户即可发布到Facebook Page Wall

[英]Post to Facebook Page Wall without logged in user

我有一个Facebook应用程序,我想用来代表他们在客户的Facebook Page Walls上发布。 我有它设置现在这样,当他们验证自己的应用程序,我得到的访问令牌,但是当我去张贴到我收到以下错误墙上:“OAuthException:错误验证访问令牌:会话是无效的,因为用户登录出来。”

如何在不登录的情况下从脚本发布?

这是我的代码:

include_once('fb-php-sdk/src/facebook.php');
$facebook = new Facebook(array(
    'appId' => 'XXX',
    'secret' => 'XXX',
));
try {
    $page_id = '215133535279290'; //page id of the customer's facebook page
    $args = array(
        'access_token' => 'XXX', //access token received when user authenticated app
        'message'      => 'A test message'
    );
    $post_id = $facebook->api("/$page_id/feed","post",$args);
} catch (FacebookApiException $e) {
echo "Error:" . $e;
}

新的Facebook API具有所谓的扩展访问令牌(它代替了脱机访问: https : //developers.facebook.com/roadmap/offline-access-removal/我认为),我认为它可以持续60天(或类似的时间)那)。 要使用它,只需在通过您的网站登录时获取访问令牌即可:

$token = $facebook->getAccessToken();

将其保存到Db并在以后使用此令牌:

$facebook = new Facebook();
$facebook->setAccessToken($accessTokenFromDB);

然后,您应该能够像用户已登录一样继续操作。

至于被注销的用户,请确保您使用的是最新版本的API,而不是旧版本,还请确保“方案2:如果您以前曾请求offline_access-更新4/30 / 2012" 我的链接页面的标题。

您可以继续使用offline_access直到10月3日,但是那为什么要在2个月的时间内将其关闭,而必须重写代码。

获取publish_stream扩展权限。 拥有此权限后,您可以在用户离线时使用您的应用访问令牌发布Feed故事。 在这种情况下,不需要offline_access权限或保存和使用用户访问令牌。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM