Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/249.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Instagram帖子URL_Php_Instagram Api - Fatal编程技术网

Php Instagram帖子URL

Php Instagram帖子URL,php,instagram-api,Php,Instagram Api,我有一个非常简单的脚本,它可以帮助我在我的网站上显示IG图像,效果非常好,但理想情况下,我希望一旦点击图像,就会链接到实际的帖子页面,而不是图像源。有没有办法调整一下 PS:我知道如何去掉链接中的fancybox,但我不知道如何以及从何处检索实际的帖子id/链接 以下是我当前的代码: <?php function rudr_instagram_api_curl_connect( $api_url ){ $connection_c = curl_init()

我有一个非常简单的脚本,它可以帮助我在我的网站上显示IG图像,效果非常好,但理想情况下,我希望一旦点击图像,就会链接到实际的帖子页面,而不是图像源。有没有办法调整一下

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>';
    }
    ?>

实际上您正在链接到
$post->images->standard\u resolution->url

现在,如果我们看看API返回了什么()

如您所见,在顶部有
链接
——您所要做的就是将href更改为该链接,而不是图像URL

因此,改变:

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

echo';

它应该会起作用。希望有帮助

使用
var\u转储($return)
并查看API返回给您的内容。您可以找到一个链接到post.Thx的参数,用于提示-我已经取消了var_dump的注释,并且我看到了一些包含到post的实际链接的引用,例如。[“link”]=>string(40)”“看看我的答案。你自己写代码了吗?我不这么认为,因为如果你愿意,你应该知道如何使用它。无论如何,我希望我能在我的回答中很好地描述它。我真的建议你试着去了解发生了什么。复制+?粘贴不会帮助您解决将来的问题。如果您还有任何问题,请随时提问。再次谢谢。是的,当然,绝对不是我做的——我今天在网上找到了一个脚本:没问题,很高兴我能帮上忙。您只需查看JSON答案的结构。正如你所看到的,“标准分辨率”是“图像”的一部分,由于“图像”与“链接”处于同一级别,它就像是一起计算1+1。您应该能够在这个JSON中找到每一条信息。如果你想锻炼一下自己,比如试着提取“用户”的“id”$发布->链接。这就是我所需要的!谢谢很多朋友
 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>';