使用最新的fb sdk的脚本问题

时间:2015-01-09 14:13:27

标签: php facebook-graph-api

我遇到以下代码的问题,它继续显示:

PHP消息: PHP Catchable致命错误:方法Facebook \ Entities \ AccessToken :: __ toString() 必须在/usr/share/nginx/html/sdk/src/Facebook/FacebookSession.php中返回一个字符串值

<?php

require 'sdk/autoload.php';

use Facebook\FacebookSession;
use Facebook\FacebookRequest;
use Facebook\GraphNodes\GraphUser;
use Facebook\FacebookRequestException;


$authToken = appid|sercet

$session = new FacebookSession($_GET['$authToken']);

$request = new FacebookRequest(
        $session,
        'GET',
        '/padgeid/statuses');

$response = $request->execute();
$graphObject = $response->getGraphObject();
/* handle the result */

?>

为什么会这样?

1 个答案:

答案 0 :(得分:0)

该错误表明,无论它接收访问令牌的是什么,都不是字符串格式(或格式错误)

由于您要添加appid和secret,因此您应该将默认会话设置为

FacebookSession::setDefaultApplication('APP_ID','APP_SECRET')

然后,此时您需要决定是否从$_GET获取令牌非常不安全或您设置的变量$authToken = appid|sercet

最简单的方法是直接将其设置为会话

$session = new FacebookSession('APP_ID|APP_SECRET')

之后您尝试使用应用程序检索页面状态,但这不可能会收到OAuth错误

{
  "error": {
    "message": "(#100) Requires user session", 
    "type": "OAuthException", 
    "code": 100
  }
}

所以你应该在这里使用/page_id/posts或用户访问令牌。