我试图向我的一个用户(通知/)发送通知,但是我无法用PHP来完成这项工作。
我正在使用以下代码:
$data = array(
'href'=> 'https://apps.facebook.com/MY_APP/',
'access_token'=> $app_token,
'template'=> 'test'
);
$sendnotification = $facebook->api('/USER_ID/notifications', 'post', $data);这就是我得到的错误:
致命错误:不正确的OAuthException:无效的OAuth访问令牌签名。抛入第1039行中的/usr/home/test/base_facebook.php
这就是我如何获得应用程序访问令牌的方法:
$APPLICATION_ID = "MY_APP_ID";
$APPLICATION_SECRET = "MY_APP_SECRET";
$token_url = "https://graph.facebook.com/oauth/access_token?" .
"client_id=" . $APPLICATION_ID .
"&client_secret=" . $APPLICATION_SECRET .
"&grant_type=client_credentials";
$app_token = file_get_contents($token_url);我做错了什么?
access_token有一个问题,如果我在sode中直接使用访问令牌,它现在就能工作了。
'access_token'=> 'K3Rds2y0cGm...',有人知道应用程序访问令牌能持续多久吗?
发布于 2012-09-02 16:34:14
这是在使用FacebookPHSDKV3.2.0时设置应用程序访问令牌的正确方法:
$this->_objFacebook->setAccessToken($this->_objFacebook->getAppId().'|'.$this->_objFacebook->getAppSecret());发布于 2012-09-14 04:47:53
问题是变量$app_token是一个$app_token = "access_token=YOUR_APP_ACCESS_TOKEN“形式的字符串。
您需要使用的是第二部分,YOUR_APP_ACCESS_TOKEN,因此,在使用$app_token作为有效令牌之前,必须删除字符串"access_token=“的第一部分。
解决办法:
$APPLICATION_ID = "MY_APP_ID";
$APPLICATION_SECRET = "MY_APP_SECRET";
$token_url = "https://graph.facebook.com/oauth/access_token?" .
"client_id=" . $APPLICATION_ID .
"&client_secret=" . $APPLICATION_SECRET .
"&grant_type=client_credentials";
$app_token = file_get_contents($token_url);
$app_token = str_replace("access_token=", "", $app_token);
$data = array(
'href'=> 'https://apps.facebook.com/MY_APP/',
'access_token'=> $app_token,
'template'=> 'test'
);
$sendnotification = $facebook->api('/USER_ID/notifications', 'post', $data);希望它能帮上忙
发布于 2013-02-19 14:46:07
$accessToken = $appId . '|' . $secret;
$params = array(
'access_token' => $accessToken,
'href' => $canvasPage,
'template' => $message,
);
$facebookObject->api('/' . $userId . '/notifications/', 'post', $params);这对我有用。参考资料:http://calibrate.be/labs/facebook-notification-api-php-sdk
https://stackoverflow.com/questions/12221757
复制相似问题