2013-01-22 62 views
2

我正在努力瞭解如何獲得尋找特定標籤的Instagram訂閱的結果。最終,我想要做的是當圖像張貼與我正在尋找的標籤添加鏈接到照片以及用戶名到數據庫。Instagram API訂閱,如何獲取帖子?

我能夠創建我的訂閱沒有問題,但現在我不知道如何從訂閱中獲取POST信息。

有兩個文件... subscribe.php和callback.php

subscribe.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; 
} 

?> 

在我的回調工作。 PHP我試圖回聲json_decode的結果......但這也引發了問題,我將如何趕上回聲?對不起,這可能非常愚蠢,但我該如何捕捉到一個新的圖像與我正在尋找的特定標記正在觸發callback.php腳本。正如我所提到的,我希望做的是獲取$ answer中的信息並將一些信息插入到數據庫中。

我是新來的,所以任何幫助將不勝感激。 非常感謝!

+0

你最終得到了你的數據嗎?我有同樣的問題 –

回答

6

我感到你的痛苦。他們的API不是最簡單的工作,他們的文檔還有很多不足之處。這就是說,這是發生了什麼:

  1. 您發送給訂閱API端點
  2. Instagram的請求發送
  3. 響應包含你需要回顯hub_challenge參數,以此來callback.php文件的響應確認您的訂閱
  4. 如果成功,您將獲得一個帖子到您的callback.php與您的新訂閱的訂閱ID
  5. 每次你得到一個帖子到你的callback.php你需要發送一個請求給他們的Instagram最新的媒體符合你的標籤。
0

我覺得你的回調URL是無法接收任何數據後,您可以嘗試一些東西到你的回調URL

0

我希望this回答我的,將有助於具有類似問題的人。