【问题标题】:php - Facebook Api - Get Fan Page Postsphp - Facebook Api - 获取粉丝专页帖子
【发布时间】:2022-01-27 10:05:25
【问题描述】:

我正在尝试使用以下代码获取用户的粉丝页面帖子,但它给了我警告

Warning: file_get_contents(https://graph.facebook.com/782176371798916/posts): failed to open stream: HTTP request failed! HTTP/1.0 400 Bad Request

$page_posts = file_get_contents('https://graph.facebook.com/'.$page_id.'/posts');
$pageposts = json_decode($page_posts);
foreach ($pageposts["data"] as $fppost) {
echo $fppost['message'];
}

那么,获取用户粉丝页面帖子的正确方法是什么?

【问题讨论】:

  • 我没有看到access_token=CAAAA......,访问调用/posts/feed 需要有效的access_token错误说明了一切

标签: php facebook facebook-graph-api posts facebook-page


【解决方案1】:

我找到的解决方案是使用以下代码:

$pageposts = $facebook->api('/'.$page_id.'/posts', 'GET');
foreach ($pageposts["data"] as $fppost) {
echo $fppost['message'];
}

【讨论】:

  • 他使用的是file_get_contents而不是php sdk,你的回答与他的方法相差甚远
  • 我正在回答这个问题:SO, how is the correct way to get user's fan page post?
【解决方案2】:

你没有发送 access_token 参数,只是添加它,它应该像魅力一样工作:

$page_id = 'smashmag'; // Page ID or username

$token = '553435274702353|OaJc7d2WCoDv83AaR4JchNA_Jgw'; // Valid access token, I used app token here but you might want to use a user token .. up to you

$page_posts = file_get_contents('https://graph.facebook.com/'.$page_id.'/posts?fields=message&access_token='.$token); // > fields=message < since you want to get only 'message' property (make your call faster in milliseconds) you can remove it

$pageposts = json_decode($page_posts); 

foreach ($pageposts->data as $fppost) {

             if (property_exists($fppost, 'message')) { // Some posts doesn't have message property (like photos set posts), errors-free ;)
                 print $fppost->message.'</br>';
             }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-05-28
    • 2014-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多