我正在使用新版本2,sdk 4.0 php。我正在尝试使用我的应用向用户发送通知。我刚刚意识到我通过登录获得的访问令牌(用户访问令牌)与我的应用程序的访问令牌不同。我已经在网上搜索过,然后在这里发布,但大多数都是针对旧的sdk而无法使用正确的语法与我合作。
我的代码:
$notification = (new FacebookRequest(
$session,
'POST',
'/'.$id[0].'/notifications',
array (
'href' => "http://localhost/app/index.php",
'template' => 'You have been tagged, please set privacy preference',
)
))->execute()->getGraphObject()->asArray();
我的错误:
致命错误:未捕获的异常' Facebook \ FacebookAuthorizationException' with message'(#15)必须使用app access_token调用此方法。'在C:\ xampp \ htdocs \ app \ Facebook \ FacebookRequestException.php:134堆栈跟踪:#0 C:\ xampp \ htdocs \ app \ Facebook \ FacebookRequest.php(268):Facebook \ FacebookRequestException :: create(&#39 ; {"错误":{"混乱...',对象(stdClass),400)#1 C:\ xampp \ htdocs \ app \ privacy.php(121):在第134行的C:\ xampp \ htdocs \ app \ Facebook \ FacebookRequestException.php中抛出的Facebook \ FacebookRequest-> execute()#2 {main}
有人可以帮助我获取应用访问令牌吗?
答案 0 :(得分:2)
您可以按如下方式获取app access_token:
$appSession = FacebookSession::newAppSession();
然后你可以这样做:
$notification = (new FacebookRequest(
$appSession,
'POST',
'/'.$id[0].'/notifications',
array (
'href' => "http://localhost/app/index.php",
'template' => 'You have been tagged, please set privacy preference',
)
))->execute()->getGraphObject()->asArray();