首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >作为页面发布到页面

作为页面发布到页面
EN

Stack Overflow用户
提问于 2012-02-21 02:17:53
回答 2查看 106关注 0票数 0

我试图自动张贴(在PHP中)到一个Facebook页面,作为Facebook页面。我在获取一个未过期的令牌,然后作为页面发布时遇到了问题。似乎我可以使用未过期的令牌作为用户发布,但不能作为页面发布。由于文档在示例方面还有很多不足之处,有人能概述一下实现这一点的步骤吗?我已经创建了一个应用程序,并从用户授予manage_pages,publish_stream和offline_access权限。当我尝试发布到页面时(没有问题),它以用户身份发布,而不是页面。我正在与用户的未过期访问令牌与页面的未过期令牌的概念作斗争。

用于授予权限的代码:

代码语言:javascript
复制
<?
require_once 'facebook.php';
$app_id = "APP_ID";
$app_secret = "APP_SECRET";

$facebook = new Facebook(array(
 'appId' => $app_id,
 'secret' => $app_secret,
 'cookie' => true
));

if(is_null($facebook->getUser()))
{
 header("Location:{$facebook->getLoginUrl(array('req_perms' => 'user_status,publish_stream,user_photos,manage_pages,offline_access'))}");
 exit;
}
?>

以及生成post的代码:

代码语言:javascript
复制
<?
require_once 'facebook.php';

$app_id = "APP_ID";
$app_secret = "APP_SECRET";
$page_id = "PAGE_ID";
$page_access_token = "PAGE_TOKEN";
$facebook = new Facebook(array(
 'appId' => $app_id,
 'secret' => $app_secret,
 'cookie' => true
));

if( !empty($page_access_token) ) {
    $args = array(
        'access_token'  => $page_access_token,
        'message'       => "Test post"
    );
    $post_id = $facebook->api("/$page_id/feed","post",$args);
} else {
}
header("Location: http://example.com/")

?>
EN

回答 2

Stack Overflow用户

发布于 2012-02-21 03:40:02

你知道offline_access已经被弃用了吗?

票数 1
EN

Stack Overflow用户

发布于 2012-02-22 04:06:55

刚刚创建了一个全新的应用程序。已确保启用了弃用脱机访问。转到资源管理器,在下拉列表中找到我的新应用程序,授予我自己manage_pages权限,转到me/accounts,抓取一个页面访问令牌,然后linted it.Bummer,1小时到期,所以这不是很好。因此,我尝试交换1小时的页面令牌,但从Facebook得到一个错误。

我返回到用户访问令牌,并将其交换为60天的令牌。在林特中验证了这是一个60天。返回到me/accounts并抓取一个页面访问令牌并将其插入。惊喜吧!从那里得到了一个60天的代币。

所以这个故事的寓意是,你不能交换页面令牌,只能交换用户令牌。但是使用60天的用户令牌,您可以获得60天的页面令牌。:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9366284

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档