请给我一个php脚本的工作示例,该脚本使用php-sdk v4 for facebook,从用户页面中提取最新的墙帖。
我在谷歌和stackoverflow上浏览过,但大多数例子只是向我展示了如何通过fb脚本登录(我已经在我正在工作的网站上设置了这个脚本)。我确实发现了这个php-sdk v4问题,但它忽略了如何获得访问令牌(如果可以的话,请包括如何获得60天内不会过期的访问令牌)。我今天刚开始使用sdk,不知道如何开始。我从网上的一些例子中复制和粘贴了一些代码,但我不知道该添加什么,这样我就可以获得链接问题中解释的提要/帖子。
<?php
require_once('facebook-php-sdk-v4/autoload.php');
session_start();
use Facebook'FacebookSession;
use Facebook'FacebookRequest;
use Facebook'FacebookRedirectLoginHelper;
use Facebook'GraphUser;
FacebookSession::setDefaultApplication('xxxxxxxx','xxxxxxxxx');
我可能要求太多,或者我的问题可能是笼统的,但我真的只需要一个例子。如果要求代码太多,请将我链接到一个在线示例,向我展示如何做到这一点。我也看过fb文档,但对于从未使用过sdk的人来说,它们非常令人困惑。提前感谢您的帮助!
我终于得到了解决方案,下面是帮助我实现目标的分解和资源。
步骤0:
以开发者身份创建一个fb应用程序,并获取应用程序Id和应用程序机密。
步骤1:
使用此链接可以查看如何设置与fb的基本交互并创建GET请求。基本FB交互
步骤2:
如果你想点击特定的fb页面或你自己的页面,请使用此链接了解如何获取页面id。页面id
步骤3:
然后,如果你想得到像我想的那样的帖子,请更改最后一个如果在第一个链接底部的代码:
if ( isset( $session ) ) {
// save the session
$_SESSION['fb_token'] = $session->getToken();
// create a session using saved token or the new one we generated at login
$session = new FacebookSession( $session->getToken() );
// graph api request for user data
$request = new FacebookRequest( $session, 'GET', '/me' );
$response = $request->execute();
// get response
$graphObject = $response->getGraphObject()->asArray();
// print profile data
echo '<pre>' . print_r( $graphObject, 1 ) . '</pre>';
// print logout url using session and redirect_uri (logout.php page should destroy the session)
echo '<a href="' . $helper->getLogoutUrl( $session, 'http://yourwebsite.com/app/logout.php' ) . '">Logout</a>';
}
到这个
// see if we have a session
if ( isset( $session ) ) {
// save the session
$_SESSION['fb_token'] = $session->getToken();
// create a session using saved token or the new one we generated at login
$session = new FacebookSession( $session->getToken() );
// graph api request for user data
$request = new FacebookRequest( $session, 'GET', '/'.$pageId.'/posts?limit=3' );
$response = $request->execute();
// get response
$graphObject = $response->getGraphObject()->asArray();
// print profile data
echo '<pre>' . print_r( $graphObject, 1 ) . '</pre>';
}
步骤4(可选):
最后,如果您正在使用FacebookRedirectLoginHelper函数重定向到当前所在的同一页面,您可能会收到$session变量为NULL的错误或bug,请参阅此链接最后一个其他部分中的代码。NULL会话变量,重定向到当前页面