Facebook Graph API - 在没有领先用户ID的情况下获取帖子ID

时间:2014-04-01 21:34:39

标签: php facebook facebook-graph-api

我正在使用FB Graph API来获取用户的帖子并在PHP中呈现列表。我想在每个帖子中添加一个链接,我一直试图通过在URL中插入“帖子ID”来生成这些链接。但是,图API返回的ID是一个由两部分组成的数字,其格式为userID_postID。是否有一个字段只包含没有前导用户ID和下划线的帖子ID? Graph API文档似乎不是很清楚。

<?php 
  function fetchUrl($url){
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_TIMEOUT, 20);

    $feedData = curl_exec($ch);
    curl_close($ch); 

    return $feedData;
  } 

  $profile_id = "PROFILEIDHERE";

  $app_id = "APPIDHERE";
  $app_secret = "APPSECRETHERE";

  $authToken = fetchUrl("https://graph.facebook.com/oauth/access_token?grant_type=client_credentials&client_id={$app_id}&client_secret={$app_secret}");

  $json_object = fetchUrl("https://graph.facebook.com/{$profile_id}/feed?{$authToken}&limit=10");

  $feedarray = json_decode($json_object);

  foreach ( $feedarray->data as $feed_data )
  {
    echo $feed_data->id;
  }

?>

1 个答案:

答案 0 :(得分:3)

实际上USERID_POSTID会提供完整的帖子ID。只是第二部分(在下划线之后)不相关。

每当您尝试获取该帖子的详细信息时,/USERID_POSTID都会为您提供相关的详细结果。如果仅查询/POSTID,则结果有限。

您可以在Graph API Explorer

中自行尝试