我已成功为我的网站上的特定用户提供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;
如果我再次粘贴代码,整个页面就会停止工作。我猜这很简单,但我并不确切知道我在寻找什么!这段代码应该放在链接到我网站的单独文件中 - 而不是在HTML Bootstrap网站中放入一些PHP吗?
提前致谢。
修改
我能够通过使用下面的答案来实现这一目标。我希望每个帐户都拥有它自己的div,我知道如何做的唯一方法是在html文件中 - 这意味着我仍然需要链接到两个不同的文件。我用正确的代码创建了一个文件,用另一个创建了另一个文件:
<?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;
它在我的域名上工作正常,但是当我将其移动到我的客户端域时,我收到此错误:警告:在/ home / savenors / savenorsmarket中为foreach()提供的参数无效第53行的.com / bostoninsta.php
发生什么事了?我猜我做了什么让这个工作起来并没有真正起作用..但它对我来说很好看。有任何想法吗?这是网站:http://www.savenorsmarket.com
答案 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。它应该以任何方式工作。