动态张贴到页面墙一步一步我做了什么



好的,所以我终于成功地通过PHP将我网站上的动态新闻帖子与我的页面墙链接为页面(而不是用户)。尽管如此,我还是想知道我的解决方案是否正确,或者它是否能长期有效。话虽如此,我还是这么做了:

  • 创建了一个配置文件来管理页面
  • 创建了公司页面
  • 创建了一个应用程序,域指向我的网站域,网站指向我的网址
  • 禁用offline_access弃用以便能够颁发offline_address令牌
  • 通过http://graph.facebook.com/PAGE_NAME找到我的页面ID
  • 访问https://developers.facebook.com/tools/explorer/APP_ID
  • 将pageID而不是userID粘贴到中,然后单击提交
  • 然后我点击获取访问令牌并检查manage_pages、publish_stream、offline_access

(当这一点不起作用时,我去了https://developers.facebook.com/docs/authentication/在"页面登录"下,我发现页面登录需要不同类型的令牌…)

  • 手动从获取令牌https://www.facebook.com/dialog/oauth?client_id=YOUR_APP_ID&redirect_uri=YOUR_URL&scope=manage_pages,publish_stream,offline_access&response_type=令牌
  • 在这种情况下,redirect_uri可以是任何东西,我们只想发回url令牌参数
  • 复制从URL发回的令牌(如果一切顺利,则响应中的过期URL参数设置为0)
  • 然后我基本上完成了这个PHP脚本:
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

你似乎是对的,但唯一的问题是离线访问

我从两周起就在这方面工作,只是我的脱机访问问题我想知道工作几天或几周,因为在我的项目中,offline_access工作两个小时我的代码有问题吗?

最新更新