1
注意:當用戶接受我的權限使用我的應用程序。我請他們接受manage_notifications
「請求此資源需要用戶訪問令牌。」 Facebook圖表的通知
我很困惑。我在網上研究了這一點,似乎我得到了不合時宜的信息和錯誤的信息,我試圖通過使用facebook圖表的facebook畫布應用向用戶發送通知。以下是我如何做,而不是工作。
public function getAccessToken() {
$app_id = $this->settings['app_id'];
$app_secrete = $this->settings['app_secrete'];
$url = "https://graph.facebook.com/oauth/access_token?".
"client_id={$app_id}".
"&client_secret={$app_secrete}".
"&grant_type=client_credentials";
$c = curl_init($url);
// necessary so CURL doesn't dump the results on your page
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($c);
$result = explode("=", $result);
curl_close ($c);
return $result[1];
}
結果通過類似access_token=523216317ewwer235|K4A1XugBpajwrweu1K2k12jzckdU
的東西。所以這就是爲什麼我爆炸代碼內的=
符號。每次用戶輸入我的應用程序時,我都會調用此函數。我採取訪問代碼並將其作爲$token
在下面的代碼中傳遞。
public function alertUser($userid,$token,$message="You have a notification") {
$inviteMessage = $message;
$inviteMessage = urlencode($inviteMessage);
$url = "https://graph.facebook.com/{$userid}/notifications?access_token={$token}&".
"template={$inviteMessage}&ref=notify";
$c = curl_init($url);
// necessary so CURL doesn't dump the results on your page
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($c);
curl_close ($c);
$r = json_decode($result);
}
,我得到如下回應
object(stdClass) {
error => object(stdClass) {
message => 'A user access token is required to request this resource.'
type => 'OAuthException'
code => (int) 102
}
}
我想你可能是對的。我猜我必須將params設置爲postData。我會試一試並更新帖子。因爲我的代碼在最近一小時內發生了很多變化。 – numerical25
作品,謝謝ALOT – numerical25