应用程序发布通知给用户。如何获取应用程序的访问令牌?

时间:2014-08-06 22:46:26

标签: php facebook-graph-api facebook-php-sdk facebook-access-token facebook-sdk-4.0

我正在使用新版本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}

有人可以帮助我获取应用访问令牌吗?

1 个答案:

答案 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();