2017-06-14 78 views
0

我有一個非常簡單的腳本,它幫助我在我的網站上顯示IG的圖像和它的偉大工程,但我非常希望,一旦點擊圖像將鏈接到實際的帖子頁面,而不是圖像源。有什麼辦法可以調整這個嗎?Instagram的帖子的網址

PS:我知道如何擺脫在鏈接的fancybox的 - 但我不知道如何以及在何處檢索與實際交ID /鏈接。

這裏我當前的代碼:

<?php 

    function rudr_instagram_api_curl_connect($api_url){ 
     $connection_c = curl_init(); // initializing 
     curl_setopt($connection_c, CURLOPT_URL, $api_url); // API URL to connect 
     curl_setopt($connection_c, CURLOPT_RETURNTRANSFER, 1); // return the result, do not print 
     curl_setopt($connection_c, CURLOPT_TIMEOUT, 20); 
     $json_return = curl_exec($connection_c); // connect and get json data 
     curl_close($connection_c); // close connection 
     return json_decode($json_return); // decode and return 
    } 

    $access_token = 'my access token '; 
    $username = 'my username'; 
    $user_search = rudr_instagram_api_curl_connect("https://api.instagram.com/v1/users/search?q=" . $username . "&access_token=" . $access_token); 
    // $user_search is an array of objects of all found users 
    // we need only the object of the most relevant user - $user_search->data[0] 
    // $user_search->data[0]->id - User ID 
    // $user_search->data[0]->first_name - User First name 
    // $user_search->data[0]->last_name - User Last name 
    // $user_search->data[0]->profile_picture - User Profile Picture URL 
    $limit = 8; 
    $i = 0; 
    // $user_search->data[0]->username - Username 

    $user_id = $user_search->data[0]->id; // or use string 'self' to get your own media 
    $return = rudr_instagram_api_curl_connect("https://api.instagram.com/v1/users/" . $user_id . "/media/recent?access_token=" . $access_token); 

    //var_dump($return); // if you want to display everything the function returns 

    foreach ($return->data as $post) { 
     echo '<a href="' . $post->images->standard_resolution->url . '" class="fancybox"><img src="' . $post->images->standard_resolution->url . '" /></a>'; 
    } 
    ?> 
+1

使用'的var_dump($返程);',看看API返回給你。你可以找到一個鏈接到帖子的參數。 – Twinfriends

+0

Thx的擡起頭 - 我註釋掉的var_dump,我看到包含實際的鏈接後如幾個引用[「link」] => string(40)「https://www.instagram.com/p/xxxx/」< - 實際鏈接。那麼我該如何轉換它或在我的href中使用它? – Dan

+0

看看我的答案。你是否自己編寫代碼?我不這麼認爲,因爲如果你願意的話,你應該知道如何使用它。無論如何,我希望我能在我的回答中很好地描述它。我真的建議你嘗試瞭解正在發生的事情。複製+粘貼不會幫助您解決未來的問題。如果您還有其他問題,請隨時提問。 – Twinfriends

回答

1

其實你要鏈接到$post->images->standard_resolution->url

現在,如果我們看看哪些API返回(https://www.instagram.com/developer/endpoints/users/

}, 
     "link": "http://instagr.am/p/BWrVZ/", 
     "user": { 
      "username": "kevin", 
      "profile_picture": "http://distillery.s3.amazonaws.com/profiles/profile_3_75sq_1295574122.jpg", 
      "id": "3" 
     }, 
     "created_time": "1296710327", 
     "images": { 
      "low_resolution": { 
       "url": "http://distillery.s3.amazonaws.com/media/2011/02/02/6ea7baea55774c5e81e7e3e1f6e791a7_6.jpg", 
       "width": 306, 
       "height": 306 
      }, 
      "thumbnail": { 
       "url": "http://distillery.s3.amazonaws.com/media/2011/02/02/6ea7baea55774c5e81e7e3e1f6e791a7_5.jpg", 
       "width": 150, 
       "height": 150 
      }, 
      "standard_resolution": { 
       "url": "http://distillery.s3.amazonaws.com/media/2011/02/02/6ea7baea55774c5e81e7e3e1f6e791a7_7.jpg", 
       "width": 612, 
       "height": 612 
      } 

由於您可以看到,頂部有link - 您只需將您的href改爲此鏈接而不是圖片網址。

因此改變:

echo '<a href="' . $post->images->standard_resolution->url . '" class="fancybox"><img src="' . $post->images->standard_resolution->url . '" /></a>'; 

到:

echo '<a href="' . $post->link . '" class="fancybox"><img src="' . $post->images->standard_resolution->url . '" /></a>'; 

,它應該工作。希望它有幫助。

+1

的「id」。 $ post->鏈接。是我所需要的!非常感謝Twinfriends – Dan

相關問題