2012-04-18 5 views
0

おはようございます! 私はapprequestsに問題があります。 私はリクエストダイアログを使用すると、私はリクエストIDで応答します。コードは次のとおりです。Facebook apprequest error

<html xmlns:fb="http://www.facebook.com/2008/fbml"> 
<body> 
<script src="http://connect.facebook.net/en_US/all.js"></script> 
<div id="fb-root"></div> 
<script> 

FB.init({appId:'400884386588720', xfbml:true, cookie:true}); 

var too = new Array('100003484704320'); 
function send() { 
    FB.ui({ 
     method:'apprequests', 
     message:'http://wasm.ru', 
     to:too 
    }, function (response) { 
     var request = response.request; 
     var request_id = request + '_' + too[0]; 
     console.log(request_id); 
    }); 
} 
</script> 
</body> 
<input type="button" onclick="send(); return true;" value='Request'> 
</html> 

ただし、このリクエストは表示されません。 Facebookのページがリフレッシュされるとき、私は通知を見ることができますが、ロード後それは消えます。私はグラフAPIを使用しようとすると

、私はエラーを持っている: [エラー] =>はstdClassオブジェクト ( [メッセージ] =>(#200)のparam IDSのすべてのユーザーがTOS [タイプ]受け入れている必要があります=

$token_url = "https://graph.facebook.com/oauth/access_token?" . 
        "client_id=" . $this->app_id. 
        "&client_secret=" . $this->secret . 
        "&grant_type=client_credentials"; 
$app_token = $this->request($token_url, 'POST'); 
$app_token = explode('=', $app_token); 
$app_token = $app_token[1]; 

$message="Message with space and with link - http://wasm.ru"; 
$message = urlencode($message); 

$url = 'https://graph.facebook.com/'.$user.'/apprequests?'.'message='.$message.'&access_token='.$app_token.'&method=post'; 
$res = $this->request($url, 'POST'); 

と要求機能:

> OAuthException [コード] => 200 )

ここでは、コードされ

エラーが見つかりません...ヘルプ!おかげさまで

答えて

1

あなたが受け取ったエラーメッセージ(「param idsのすべてのユーザーはTOSを受け入れている必要があります」)は、アプリに接続されていないユーザーにアプリ生成リクエストを送信しようとしているためです。

開発者のドキュメントはこちらhttps://developers.facebook.com/docs/requests/#app_to_userをご覧ください。

リクエストダイアログで送信されたリクエストとアプリで生成されたリクエストが異なるため、アプリにユーザーを招待するアプリ生成リクエストを使用することはできません。

関連する問題