动态发布到页面墙一步一步我做了什么

时间:2012-02-16 15:24:28

标签: facebook facebook-graph-api file-get-contents json facebook-wall

好的,所以我终于通过PHP成功地将我网站上的动态新闻帖子与我的页面墙作为页面(非用户)链接起来。 我仍然想知道我的解决方案是否正确,或者它是否可以长期运行。 说过这就是我做的事情:

  • 创建了一个用于管理页面的个人资料
  • 创建公司页面
  • 创建了一个应用,其中域指向我的网站域,网站指向我的网站网址
  • 禁用offline_access弃用以便能够发出offline_access令牌
  • 通过http:// graph.facebook.com/PAGE_NAME
  • 找到我的pageID
  • 去https:// developers.facebook.com/tools/explorer/APP_ID
  • 将pageID粘贴到userID而不是userID,然后点击提交
  • 然后我点击了获取访问令牌并检查了manage_pages,publish_stream,offline_access

(当这一点无效时,我访问了https://developers.facebook.com/docs/authentication/并在“页面登录”下发现页面登录需要不同类型的令牌......)

require_once('facebook-sdk/facebook.php');
//Required facebook auth vars
$appID = 'APP_ID';
$appSecret = 'APP_SECRET';
$pageID = 'PAGE_ID';
$appOfflineToken = 'TOKEN_RETURNED_IN_PREVIOUS_STEP';
$pageTokenURL = 'https://graph.facebook.com/me/accounts?access_token=';
$access_token = '';

//connect to facebook app
$facebook = new Facebook(array(
    'appId'  => $appID,
    'secret' => $appSecret,
    'cookie' => true
));

//get page managed pages information
$jsonData = file_get_contents($pageTokenURL.$appOfflineToken);
$content = json_decode($jsonData, true);

//filter access_token for desired page using pageID
foreach($content['data'] as $item) {
    if($item['id'] == $pageID){
        $access_token = $item['access_token'];
        break;
    }
}

//format post
$post =  array(
    'access_token' => $access_token,
    'picture' => "http://URL_TO_PICTURE,
    'link' => "http://URL_TO_NEWS_POST",
    'name' => "NEWS_TITLE",
    'description' => 'NEWS_DESCRIPTION'
);

//post content to page wall
$res = $facebook->api('/'.$pageID.'/feed', 'POST', $post);

所以我的问题是......即使这看起来很牵强......这是正确的吗?好吧,至少它有效!

PS:对于这些链接感到抱歉,但是在这篇文章中只能提交2个......似乎没有足够的街头信誉:p

1 个答案:

答案 0 :(得分:-1)

你似乎没错,但它唯一的问题就是offline_access

我在这两周工作只有我的问题offline_access 我想要工作多少天或几周,因为在我的项目中,offline_access工作了两个小时 我的代码中有问题还是什么?