我遇到以下代码的问题,它继续显示:
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 */
?>
为什么会这样?
答案 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
或用户访问令牌。