2011-10-24 10 views
0

私は、コードを使用して私のアプリのユーザーにアプリが生成した通知を送信しようとしている:エラー[メソッドはリクエストで無効なメソッドが実装されていない]

$app_id = MY_APP_ID; 
$app_secret = MY_APP_SECRET; 

$token_url = "https://graph.facebook.com/oauth/access_token?" . 
    "client_id=" . $app_id . 
    "&client_secret=" . $app_secret . 
    "&grant_type=client_credentials"; 

$app_access_token = file_get_contents($token_url); 

$user_id = SOME_USER_ID; 

$apprequest_url ="https://graph.facebook.com/" . 
    $user_id . 
    "/apprequests?message='a message'" . 
    "&data='some_data'&" . 
    $app_access_token . "&method=post"; 

$result = file_get_contents($apprequest_url); 

var_dump($result); 

ユーザーの真偽はokです、また、私は、有効なアクセストークンを取得していますが、私は

$result = file_get_contents($apprequest_url); 

を呼び出したときに私が得る応答は次のとおりです。

Method Not Implemented 
Invalid method in request 

何が起こっている可能性がありますか?私はブラウザにURLを置く場合、それは正常に動作し、私は通知を生成します。通知を送信しながら、事前

答えて

0

おかげで、私はそれは少し愚かだ...エラーが見つかりましたが、問題は、私はAPI呼び出しを行うために使用したメッセージ文字列に空白を入れしようとしていました。 つまり、 ''% 'を' '%' 'に置き換えることで動作します。私はまた、以前にメッセージを非効率的にエンコードしようとしました

utf8_encode($message) 

しかし、うまくいきませんでした。だから、私の解決策は、文字列のスペースを直接置き換えることでした。それは洗練された解決策ではありません。しかし、私はこれを扱う10時間のように過ごしました...

Ie.私は、これは他の誰かを助けることを願って、私は千回のテストを行うことに費やした時間は、xDさん

を無駄にしていなかった

"/apprequests?message='a%20message'" . 

:に置き換え

"/apprequests?message='a message'" . 

関連する問題