2016-12-29 4 views
-1

UPDATE:私は、このスクリプトを4回書き直し、と私はメカニズムを理解するが、残念ながら私は何が不足しているか理解していない...エラーコードが同じ..ですFacebookのメッセンジャーボット、PHPで、私は間違っている?

<?php 
// parameters 
$hubVerifyToken = 'XXXXXX'; 
$accessToken = "xxxxxxxxxxxxxx"; 
// check token at setup 
if ($_REQUEST['hub_verify_token'] === $hubVerifyToken) { 
echo $_REQUEST['hub_challenge']; 
exit; 
} 
// handle bot's anwser 
$input = json_decode(file_get_contents('php://input'), true); 
$senderId = $input['entry'][0]['messaging'][0]['sender']['id']; 
$messageText = $input['entry'][0]['messaging'][0]['message']['text']; 
$answer = "I don't understand. Ask me 'hi'."; 
if($messageText == "hi") { 
    $answer = "Hello"; 
} 
$response = [ 
    'recipient' => [ 'id' => $senderId ], 
    'message' => [ 'text' => $answer ] 
]; 
$ch = curl_init('https://graph.facebook.com/v2.6/me/messages?access_token='.$accessToken); 
curl_setopt($ch, CURLOPT_POST, 1); 
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($response)); 
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']); 
curl_exec($ch); 
curl_close($ch); 
//based on http://stackoverflow.com/questions/36803518 

しかし、私が開いた場合APIのページ、私は次のようなエラーメッセージが出ます:どこで、どのように私はそれに書くことができuser_id場合

{ 
"error": { 
"message": "(#100) The parameter user_id is required", 
"type": "OAuthException", 
"code": 100, 
"fbtrace_id": "G8FOo08+EsE" 
} 
} 

は、不足していますか?何をuser_idにすればいいですか? PHPコードはもう使用できません。たとえば、PHPの代わりにthis siteを使用する必要がありますか?

+0

は 'だから、私はビデオtutorial'で、このPHPコードを発見した - 出来上がり、あなたは問題を特定しました。あなたが抱えている問題は、その背後にあるAPIを理解せずに何かをしようとしているということです。今すぐあなたは迅速な解決策を探しています、そして、それはどこにもあなたを得ることはありません。だから、スクリプトにダンプしてそれを忘れることができるコピー貼り付けコードの後ろにいるのですか?これがどう動くべきかを理解したのですか? –

+0

コードをコピーして貼り付けた後、私はたくさんのビデオ、フォーラム、FBサイト全体を見てきましたが、私はまだメカニズムを理解していません。本当に残念ですが、それ。だから、もしあなたが私に拠点を与えたら、私は確かにそれを行うことができます。とにかく、私はあなたに感謝:) – krisz44g

答えて

-1

はこれを試してみてください...

$response = [ 
    'recipient' => [ 'user_id' => $senderId ], 
    'message' => [ 'text' => $answer ] 
]; 
+0

ありがとう、残念ながらそれは私のために動作しません.. :( – krisz44g

関連する問題