我正在尝试将Facebook帖子拉到我的网站上,以便我可以保存并以我自己的格式显示它。我正在尝试使用Facebook Developer页面上的facebook-php-sdk库。在我需要库之后,我使用了以下代码:
$facebook = new Facebook(array(
'appId' => 'MY APP ID',
'secret' => 'MY APP SECRET',
));
// Get User ID
$user = $facebook->getUser();
print_r($facebook);
print_r($user);
print_r进入$ facebook向我展示了一个完整的facebook对象,所以我知道它正在被正确创建。
object(Facebook)#325 (9) { ["sharedSessionID":protected]=> NULL ["appId":protected]=> string(15) "[MYAPPID]" ["appSecret":protected]=> string(32) "[MYAPPSECRET]" ["user":protected]=> int(0) ["signedRequest":protected]=> NULL ["state":protected]=> NULL ["accessToken":protected]=> string(48) "[MYAPPID]|[MYAPPSECRET]" ["fileUploadSupport":protected]=> bool(false) ["trustForwarded":protected]=> bool(false) }
(我从上面的引文中提取了我的app id和app密码。)
然而,print_r进入$ user显示
int(0).
我在这里缺少什么?
答案 0 :(得分:1)
“我在这里缺少什么?”验证用户身份。您正在呼叫getUser()
,但在您进行身份验证之前,Facebook不知道哪个用户可以获取详细信息。我也不确定你为什么错过它,因为它是PHP SDK的GitHub repo上的例子。
答案 1 :(得分:0)
我不知道这个getUser()
功能是什么,但你要做的非常简单,你甚至不需要使用一个巨大的库(我更喜欢使用我可以轻松检查的内容) ,或者我写的,如果我管理的话)。它看起来像this question的副本,或者相反。无论如何,我也在这里重复一遍:
要获取Feed,您必须使用令牌。要检索该令牌,请使用此网址https://graph.facebook.com/oauth/access_token?type=client_cred&client_id=YOUR_APP_ID&client_secret=YOUR_APP_SECRET
假设你已经得到它并且你称之为$token
。用它来获取你的饲料。
$pageFeed = someCURLfunction("https://graph.facebook.com/{$yourid}/feed?{$token}");
//you don't need a login. You have to get an auth token though
$jsonStuff = json_decode($pageFeed); //it's a json object. You need to decode it
foreach ($jsonStuff as $feed)
{
//loop through it and
// finish it here
}