我使用Instafeed.js(http://instafeedjs.com)从Instagram收集图片并在我的网站上显示。但是如何控制每张图片的大小,并控制它是低分辨率还是标准分辨率?
<script type="text/javascript">
var userFeed = new Instafeed({
get: 'user',
userId: userID,
accessToken: 'accessToken',
resolution: 'standard_resolution',
template: '<a href="{{image}}"><img src="{{image}}" /></a>'
});
userFeed.run();
</script>
过去我使用过此代码,但它不再起作用了:
<?php
// Supply a user id and an access token
$userid = "userID";
$accessToken = "acessToken";
// 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/2254178/media/recent/?access_token=2254178.467ede5.4cf795f92f0a49b68724a782e706f6b5");
$result = json_decode($result);
?>
<?php $x = 1; ?>
if($x == 1) {
echo'<a class="group left big" rel="group1" href="'.$post->images->standard_resolution->url.'"><img src="'.$post->images->standard_resolution->url.'"></a>';
$x = 2;
}
else if($x == 2) {
echo'<a class="group left small" rel="group1" href="'.$post->images->standard_resolution->url.'"><img src="'.$post->images->low_resolution->url.'"></a>';
$x = 3;
}
答案 0 :(得分:2)
有点晚了,我知道,但有一种简单且可扩展的方法可以用instafeed.js处理这个问题。
创建Instafeed实例时,应在模板中引用模型变量。例如:
<script type="text/javascript">
var userFeed = new Instafeed({
get: 'user',
userId: userID,
accessToken: 'accessToken',
resolution: 'standard_resolution',
template: '<a href="{{model.images.low_resolution.url}}"><img src="{{image}}" /></a>'
});
userFeed.run();
</script>
将为您提供链接到较低分辨率图像的标准分辨率图像。通过允许访问整个JSON模型,Instafeed为您提供了对如何使用图像的大量控制。
Stephen Schobert(不安全的作者)对模型包含的内容有一个很好的样本:https://github.com/stevenschobert/instafeed.js/issues/21