참고 : 사용자가 내 앱 사용 권한을 수락하면. 나는 그들이 받아들이도록 요청한다. manage_notifications
"이 리소스를 요청하려면 사용자 액세스 토큰이 필요합니다." 알림 용 Facebook 그래프
나는 혼란 스럽다. 나는 이것을 웹에서 조사한 결과, deprecated와 잘못된 정보가 혼합되어있는 것처럼 보였고 facebook 그래프를 사용하여 내 facebook canvas 앱을 사용하여 사용자에게 알림을 보내려고합니다. 다음은 어떻게 작동하는지, 작동하지 않는지입니다.
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
으로 전달합니다.
curl_setopt ($c, CURLOPT_POST, true);
분명히 당신이 만들고있는 GET 요청을하려고 :
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);
}
나는 당신 알림 작동하게하기 위해 POST 요청을 사용해야합니다
object(stdClass) {
error => object(stdClass) {
message => 'A user access token is required to request this resource.'
type => 'OAuthException'
code => (int) 102
}
}
나는 당신이 옳을 수도 있다고 생각합니다. params를 postData로 설정해야한다고 생각합니다. 나는 그것을 시도하고 게시물을 업데이 트합니다. 지난 1 시간 동안 내 코드가 많이 변경되었습니다. – numerical25
작품, 고마워요. – numerical25