2013-05-22 15 views
5

私はドキュメントで見ているものです:Facebookの通知 - 許可が必要かどうかここで

Apps can send notifications to any existing user that has authorized the app. No special or extended permission is required. 

オーケー、いいですね。私はJS SDKを使用して、ここで私がやろうとしているものですよ:

FB.api('/me/notifications?access_token=' + window.accessToken + '&href=test&template=test', function(response) { 
     console.log(response); 
}); 

これは私が取得していますものです:

"(#200) The "manage_notifications" permission is required in order to query the user's notifications." 

私は私のアプリのでHREFパラメータを交換しようとしています本当のドメイン。 "/ me /"の代わりに私のFacebookのIDを使用しても違いはありません。助けて!

私はmanage_notifications権限を追加しようとしましたが(まだ動作しません...)、私の質問はなぜそれがドキュメントの反対ですか?

EDIT:はPHPに行ってきました:

<?php 

include_once('sdk/facebook.php'); 

$user = $_POST['user']; 
$message = $_POST['message']; 

$config = array(); 
$config['appId'] = '609802022365238'; 
$config['secret'] = '71afdf0dcbb5f00739cfaf4aff4301e7'; 

$facebook = new Facebook($config); 
$facebook->setAccessToken($config['appId'].'|'.$config['secret']); 

$href = 'href'; 

$params = array(
     'href' => $href, 
     'template' => $message, 
    ); 


$facebook->api('/' . $user . '/notifications/', 'POST', $params); 

?> 

EDIT 2:を愚かなロジックミスした後、それが機能するようになりました:)

答えて

7

を使用すると、アプリケーションのアクセストークンを使用する必要があり、通知を送信するには - appid|appsecret 、それをサーバー側に送り、AJAX呼び出しで実行する必要があります。 PHPの例:私は見

require_once("facebook.php"); 

$config = array(); 
$config['appId'] = 'YOUR_APP_ID'; 
$config['secret'] = 'YOUR_APP_SECRET'; 

$facebook = new Facebook($config); 
$facebook->setAccessToken($config['appId'].'|'.$config['secret']); 

$user = 'userid'; 
$message = 'message'; 
$href = 'href'; 

$params = array(
     'href' => $href, 
     'template' => $message, 
    ); 

$facebook->api('/' . $user . '/notifications/', 'post', $params); 

https://developers.facebook.com/docs/concepts/notifications/

+0

。私はそれを試し、何が起きているかを見ます。ありがとう! –

+0

[OK]を、私はエラーが表示されません。悪いニュースは、それが動作していないということです:)私はtry-catchを使ってみましたが、何もしませんでした。何が間違っていたかを知るにはどんな考え? –

+0

アプリケーションを承認したユーザーにリクエストを送信していますか?最後の行を '$ send = $ facebook-> api( '/'。$ user。 '/ notifications /'、 'post'、$ params)に置き換えてみてください。 var_dump($ send); '私の仕事でvar_dumpを返す' array(1){["success"] => bool(true)} ' – smalu

関連する問題