我想构建一个 Web 应用程序,使用 Facebook API + PHP 从我拥有的封闭群组获取提要、点赞和评论
我看到我可以使用这个 Graph API 接口获取信息,开始阅读 facebook 文档,并开始思考我实际上不能这样做:https://developers.facebook.com/docs/public_feed/ https://developers.facebook.com/docs/public_feed/
但还是有这样的情况:https://developers.facebook.com/docs/graph-api/reference/v2.2/group/feed https://developers.facebook.com/docs/graph-api/reference/v2.2/group/feed
and 我只是找不到获取群组提要的功能!所以也许我只是工作不正常,我错过了一些东西。
尽管在 Facebook API 接口上运行它时它确实有效! -(https://developers.facebook.com/tools/explorer/145634995501895/ https://developers.facebook.com/tools/explorer/145634995501895/)
在较早的帖子中,很多 stackoverflower 推荐我使用 Graph API+PHP,它完全可以
Facebook 群组 Feed PHP SDK https://stackoverflow.com/questions/16945719/facebook-group-feed-php-sdk
是否可以获取我所属但不拥有的封闭群组的 Facebook 动态? https://stackoverflow.com/questions/16816436/is-it-possible-to-get-a-facebook-feed-to-a-closed-group-that-i-belong-to-but-do
这是我现在的代码,可以使用了。
<?php
session_start();
require_once( 'Facebook/FacebookSession.php' );
require_once( 'Facebook/FacebookRedirectLoginHelper.php' );
require_once( 'Facebook/FacebookRequest.php' );
require_once( 'Facebook/FacebookResponse.php' );
require_once( 'Facebook/FacebookSDKException.php' );
require_once( 'Facebook/FacebookRequestException.php' );
require_once( 'Facebook/FacebookAuthorizationException.php' );
require_once( 'Facebook/GraphObject.php' );
require_once( 'Facebook/GraphUser.php' );
require_once( 'Facebook/GraphSessionInfo.php' );
require_once( 'Facebook/HttpClients/FacebookHttpable.php' );
require_once( 'Facebook/HttpClients/FacebookCurl.php' );
require_once( 'Facebook/HttpClients/FacebookCurlHttpClient.php' );
require_once( 'Facebook/Entities/AccessToken.php' );
require_once( 'Facebook/Entities/SignedRequest.php' );
use Facebook\GraphUser;
use Facebook\FacebookSession;
use Facebook\FacebookRedirectLoginHelper;
use Facebook\FacebookRequest;
use Facebook\FacebookResponse;
use Facebook\FacebookSDKException;
use Facebook\FacebookRequestException;
use Facebook\FacebookAuthorizationException;
use Facebook\GraphObject;
use Facebook\Entities\AccessToken;
use Facebook\HttpClients\FacebookCurlHttpClient;
use Facebook\HttpClients\FacebookHttpable;
$app_id = '1408050536103050';
$app_secret = 'a866372f873730e703cdf0cb4521bd99';
$redirect_url = 'http://localhost/test/YellowSpider/src/';
FacebookSession::setDefaultApplication( $app_id, $app_secret );
//helper for redirect
$helper = new FacebookRedirectLoginHelper($redirect_url);
$session = $helper->getSessionFromRedirect(); //Processes the redirect data from Facebook, if present. Returns a FacebookSession or null.
if ( isset($session) ){
// Create request object, execute and capture responce
$request = new FacebookRequest($session, 'GET', '/15013584710049696319/feed'); //Represents a request that will be made against the Graph API.
//From the response - get graph object
$response = $request->execute(); //Returns a Facebook\FacebookResponse from this request, from which a strongly-typed result can be retrieved.
//Throws an exception if the request fails. If the error is returned from Facebook,
//as opposed to a networking issue, a Facebook\FacebookRequestException is thrown.
$graph = $response->getGraphObject(); //Returns the result as a GraphObject. If specified, a strongly-typed subclass of GraphObject is returned.
var_dump($graph);
//use graph object methods to get user details
//$name = $graph->getname();
//echo "Hi $name";
}
else {
echo '<a href="' . $helper->getLoginUrl() . '">Login with Facebook</a>';
}
?>
这是我在 var 转储中得到的:
object(Facebook\GraphObject)[4]
protected 'backingData' =>
array (size=0)
empty