【发布时间】:2014-02-26 04:38:29
【问题描述】:
我正在使用 php 获取用户/页面 facebook 时间线的提要。到目前为止我要说的是:
<?php
require 'src/facebook.php';
$facebook = new Facebook(array(
'appId' => 'xxx',
'secret' => 'xxx',
));
$username = isset($_GET['username'])?$_GET['username']:"agptj";
$profile = $facebook->api('/'.$username.'/posts');
?>
<br/><br/><img src="https://graph.facebook.com/<?=$username?>/picture">
<?php
foreach( $profile['data'] as $data ){
if($data['message']){
echo $data['message']."<br><hr><br>";
}else{
echo $data['story']."<br><hr><br>";
}
}
?>
这适用于页面:$username = "mashable"。但是,当我尝试对配置文件执行相同操作时,它会显示 activity log 而不是状态更新。例如:$username = "agptj"
输出:
Prakash Timilsina updated his cover photo.
如何使用 php 获取配置文件的状态更新而不是活动日志?
编辑:
$loginUrl = $facebook->getLoginUrl(array(
'scope' => 'read_stream')
);
使用范围read_stream 登录并寻找/statuses 作为
$profile = $facebook->api('/'.$username.'/statuses');
让我访问我自己的个人资料和朋友的个人资料状态,但不让我read random person's public updates。我该怎么做?
【问题讨论】:
-
您是否在 read_stream 权限下尝试过?您可能希望将该 access_token 提供给 api 调用。你可以通过他们的 api explorer 快速查看:developers.facebook.com/tools/explorer
-
您好@AtaurRahimChowdhury,请您阅读
Edit -
如果您仍然有问题,我试图获取不是我朋友的人的公开状态,我无法使用查询中的状态通过资源管理器获取它。但通过“用户名/帖子”,我可以看到他最近发布的帖子。如果您只想要状态,您可以通过在查询中添加 status_type 来过滤掉它。这是我尝试使用的示例查询:developers.facebook.com/tools/explorer/…
标签: php facebook facebook-graph-api