2017-06-14 16 views
0

私は自分のウェブサイトにIG画像を表示するのに役立つ非常に簡単なスクリプトを持っていますが、それは素晴らしいですが、理想的には画像をクリックすると画像が画像ソースではなく実際の投稿ページ。これを微調整する方法はありますか?Instagram投稿URL

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($ return);'を使って、APIがあなたに返すものを見てください。投稿にリンクするパラメータを見つけることができます。 – Twinfriends

+0

頭の上のThx - 私はvar_dumpのコメントを外しました。投稿への実際のリンクを含むいくつかの参照があります。 ["link"] => string(40) "https://www.instagram.com/p/xxxx/" < - 実際のリンクです。だから私はこれを変換するか、私のhrefでこれを使うことができますか? – Dan

+0

私の答えを見てください。自分でコードを書いたことがありますか?私はあなたが持っていたら、それを使用する方法を知っている必要がありますので、そうは思わない。とにかく、私の答えでそれをうまく表現できることを願っています。私は本当に何が起こっているのか理解しようとすることをお勧めします。 Copy +?Pasteは今後の問題に役立つものではありません。これ以上質問がある場合は、お気軽にお問い合わせください。 – Twinfriends

答えて

1

我々はどのような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 
      } 

を見てみるならば実際にあなたが、今$post->images->standard_resolution->url

にリンクしています一番上に表示されているのはlinkです - 画像URLの代わりに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

$ post-> link。私はすべてが必要でした!ツインフレンズたくさんありがとう – Dan

関連する問題