2

特定のタグを検索する Instagram サブスクリプションの結果を取得する方法を理解しようとしています。最終的に、私がやりたいことは、探しているタグを付けて画像が投稿されるときに、写真へのリンクとユーザー名をデータベースに追加することです。

問題なくサブスクリプションを作成できましたが、サブスクリプションから POST 情報を取得する方法がわかりません。

2 つのファイルの操作...subscribe.php と callback.php

サブスクライブ.php

<?php

//ALL YOUR IMPORTANT API INFO
$client_id = 'XXX';
$client_secret = 'XXX';
$object = 'tag';
$object_id = 'taglookingfor';
$aspect = 'media';
$verify_token='';
$callback_url = '(full URL here)/callback.php';


//SETTING UP THE CURL SETTINGS...
$attachment =  array(
'client_id' => $client_id,
'client_secret' => $client_secret,
'object' => $object,
'object_id' => $object_id,
'aspect' => $aspect,
'verify_token' => $verify_token,
'callback_url'=>$callback_url
);

//URL TO THE INSTAGRAM API FUNCTION
$url = "https://api.instagram.com/v1/subscriptions/";

$ch = curl_init();

//EXECUTE THE CURL...
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $attachment);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);  //to suppress the curl output 
$result = curl_exec($ch);
curl_close ($ch);

//PRINT THE RESULTS OF THE SUBSCRIPTION, IF ALL GOES WELL YOU'LL SEE A 200
print_r($result);


?>

callback.php

 <?php

if (isset ($_GET['hub_challenge'])){
    echo $_GET['hub_challenge'];
}

//This is an update
else {

    $myString = file_get_contents('php://input');
    $answer = json_decode($myString);
    echo $answer;
}

?>

私の callback.php では、json_decode の結果をエコーアウトしようとしています...しかし、それはまた、そのエコーをどのようにキャッチするのかという疑問を投げかけますか? 申し訳ありませんが、これは本当にばかげているかもしれませんが、探している特定のタグを持つ新しい画像によって callback.php スクリプトが起動されている瞬間をどのように捉えますか? 前述したように、私がやりたいことは、$answer の情報を取得し、情報の一部をデータベースに挿入することです。

私はこれが初めてなので、どんな助けでも大歓迎です。どうもありがとう!!

4

3 に答える 3

6

あなたの痛みが分かります。彼らの API は操作が簡単ではなく、ドキュメントには多くの要望が残されています。そうは言っても、これは何が起こるかです:

  1. サブスクリプション API エンドポイントにリクエストを送信します
  2. Instagram が callback.php ファイルに応答を送信します
  3. 応答には、サブスクリプションを確認するためにエコーする必要がある hub_challenge パラメーターが含まれています
  4. 成功すると、新しいサブスクリプションのサブスクリプション ID を含む callback.php への投稿が取得されます。
  5. callback.php への投稿を取得するたびに、タグに一致する最新のメディアのリクエストを Instagram に送信する必要があります。
于 2013-03-29T20:59:19.910 に答える
0

あなたのコールバック URL は投稿データを受信できないと思います。コールバック URL に何かを投稿してみてください。

于 2014-02-18T02:44:01.987 に答える