一页上有多个Instagram Feed

时间:2015-03-13 18:51:41

标签: php html twitter-bootstrap instagram

我已成功为我的网站上的特定用户提供Instagram Feed,但对PHP的经验很少,我无法弄清楚如何简单地重复这个过程。我希望在一个div中并排显示两个不同的用户。



<?php

// http://jelled.com/instagram/lookup-user-id/
$userid = "userid";


// http://instagram.com/developer/
$clientid = "clientid";


// http://jelled.com/instagram/access-token/
$accessToken = "token";


// number of photos to return
$count = "4";

// Gets our data
function fetchData($url){
     $ch = curl_init();
     curl_setopt($ch, CURLOPT_URL, $url);
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
     curl_setopt($ch, CURLOPT_TIMEOUT, 20);
     $result = curl_exec($ch);
     curl_close($ch); 
     return $result;
}



// Pulls and parses data.
$result = fetchData("https://api.instagram.com/v1/users/{$userid}/media/recent/?access_token={$accessToken}&count={$count}");
$result = json_decode($result);

// cycles through the json tree and uses the low res url in the img tag
echo "<ul>";
    foreach ($result->data as $photo) {
        $img = $photo->images->{$display_size="thumbnail"};
        echo "<li><a href='{$photo->link}'><img src='{$img->url}' /></a></li>";

    }
    echo "</ul>";

?>
&#13;
&#13;
&#13;

如果我再次粘贴代码,整个页面就会停止工作。我猜这很简单,但我并不确切知道我在寻找什么!这段代码应该放在链接到我网站的单独文件中 - 而不是在HTML Bootstrap网站中放入一些PHP吗?

提前致谢。

修改

我能够通过使用下面的答案来实现这一目标。我希望每个帐户都拥有它自己的div,我知道如何做的唯一方法是在html文件中 - 这意味着我仍然需要链接到两个不同的文件。我用正确的代码创建了一个文件,用另一个创建了另一个文件:

&#13;
&#13;
<?php


// Set User ID here for different profile
//$userid = "idHere";
$userid = "296517730";

    $result = fetchData("https://api.instagram.com/v1/users/{$userid}/media/recent/?client_id={$clientid}&count={$count}");
$result = json_decode($result);

// cycles through the json tree and uses the low res url in the img tag
echo "<ul>";
    foreach ($result->data as $photo) {
        $img = $photo->images->{$display_size="thumbnail"};
        echo "<li><a href='{$photo->link}'><img src='{$img->url}' /></a></li>";

    }
    echo "</ul>";





?>
&#13;
&#13;
&#13;

它在我的域名上工作正常,但是当我将其移动到我的客户端域时,我收到此错误:警告:在/ home / savenors / savenorsmarket中为foreach()提供的参数无效第53行的.com / bostoninsta.php

发生什么事了?我猜我做了什么让这个工作起来并没有真正起作用..但它对我来说很好看。有任何想法吗?这是网站:http://www.savenorsmarket.com

1 个答案:

答案 0 :(得分:0)

这里的代码正在我的机器上工作两次。它会将相同的用户图片拉两次,但为了解决此问题,只需重新调用用户id变量,然后再调用fetchData();

<?php
$userid = "idHere";


// http://instagram.com/developer/
$clientid = "IDhere";




// number of photos to return
$count = "4";

// Gets our data
function fetchData($url){
     $ch = curl_init();
     curl_setopt($ch, CURLOPT_URL, $url);
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
     curl_setopt($ch, CURLOPT_TIMEOUT, 20);
     $result = curl_exec($ch);
     curl_close($ch); 
     return $result;
}



// Pulls and parses data.
$result = fetchData("https://api.instagram.com/v1/users/{$userid}/media/recent/?client_id={$clientid}&count={$count}");
$result = json_decode($result);

// cycles through the json tree and uses the low res url in the img tag
echo "<ul>";
    foreach ($result->data as $photo) {
        $img = $photo->images->{$display_size="thumbnail"};
        echo "<li><a href='{$photo->link}'><img src='{$img->url}' /></a></li>";

    }
    echo "</ul>";


// Set User ID here for different profile
//$userid = "idHere";

    $result = fetchData("https://api.instagram.com/v1/users/{$userid}/media/recent/?client_id={$clientid}&count={$count}");
$result = json_decode($result);

// cycles through the json tree and uses the low res url in the img tag
echo "<ul>";
    foreach ($result->data as $photo) {
        $img = $photo->images->{$display_size="thumbnail"};
        echo "<li><a href='{$photo->link}'><img src='{$img->url}' /></a></li>";

    }
    echo "</ul>";





?>

另请注意,我在access_token上使用client_id。它应该以任何方式工作。