我一直在努力整理一个通过Flickr管理的照片相册系统,过去一天我一直在玩Flickr API,并且有以下代码,但它只是没有返回预期的HTML.insetad我的浏览器中出现上述行的错误($('#images').html(theHtml);)
<script type="text/javascript">
$(document).ready(function(){
$.getJSON('http://api.flickr.com/services/rest/?&method=flickr.photosets.getPhotos&api_key=xxxxxxxxxxxxxxxxxxxxxxxxxxx&photoset_id=xxxxxxxxxxxxxxxxxxxx=&format=json&jsoncallback=?', displayImages);
function displayImages(data) {
var photosetID = "";
var title = "";
var theHtml = "";
$.each(data.photosets.photoset, function(i,set){
photosetID = set.id;
title = set.title._content;
ids.push(photosetID);
titles.push(title);
var sourceSquare = (set.media.m).replace("_m.jp g", "_s.jp g");
theHtml+= '<li><a href="'+set.link+'" target="_blank">';
theHtml+= '<img title="'+set.title+'" src="'+sourceSquare+'" alt="'+set.title+'" />';
theHtml+= '</a></li>';
});
$('#images').html(theHtml); }); });
</script>
Run Code Online (Sandbox Code Playgroud)
我也见过这样的例子:
$.getJSON("http://api.flickr.com/services/feeds/groups_pool.gne?id=xxxxxxxxxxxxxxxxxxxxxxxxxxxxx&lang=en-us&format=json&jsoncallback=?", displayImages);
Run Code Online (Sandbox Code Playgroud)
BUt不确定组ID是什么,是否与设置ID相同?Flickr如何知道我在示例二中的身份,因为我没有看到任何API被传递.
我的偏好是让第一个例子工作,因为那是我一直在努力的,但是任何建议/例子都会得到应用
干杯
这是因为你正在尝试使用api feed,就好像它是一个rss feed.它们是两种不同的格式.看一下flickr api浏览器的photosets.getPhotos
这段代码可以帮到你:
$.getJSON(url, function(data) {
$.each(data.photoset.photo, function(i,item){
var squareUrl = 'http://farm' + item.farm + '.static.flickr.com/' + item.server + '/' + item.id + '_' + item.secret + '_s.jpg';
var largeUrl = squareUrl.replace('_s.jpg', '_b.jpg');
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4550 次 |
| 最近记录: |