1

タイトルごとに flickr から最初の画像を取得し、応答作成リンクから画像を取得する必要があります。しかし、写真の要素が見つからず、理由がわかりません。私のコード:

var options = { 
  "api_key": API-KEY,
  "method": "flickr.photos.search",
  "accuracy": "11",
  "content_type": "1",
  "format": "xmlrpc",
  "per_page": "1",
  "text": TITLE
}

var makeFlickrRequest = function(options, cb) {
    var url, item, first;

    url = "http://api.flickr.com/services/rest/";
    first = true;
    $.each(options, function(key, value) { 
        url += (first ? "?" : "&") + key + "=" + value;
        first = false; 
    });

    $.get(url, function(data) {
        $(data).find('photo').each(function(){
            cb($(this));
        });
    });
};

コードを次のように変更すると、文字列要素からのテキストしか取得できません

$(data).find('string').each(function(){
    cb($(this).text());
});

しかし、次のようなテキストの解析などの要素属性を操作したい:

<photos page="1" pages="222177" perpage="1" total="222177">
    <photo id="9494235388" owner="16159287@N02" secret="f5dbd3b43a" server="7443"    farm="8" title="2013 River Cruise Day 13 Bratislava" ispublic="1" isfriend="0" isfamily="0" />
</photos>

API レスポンス:

<methodResponse><params><param><value><string>
    <photos page="1" pages="222189" perpage="1" total="222189">
        <photo id="9494235388" owner="16159287@N02" secret="f5dbd3b43a" server="7443" farm="8" title="2013 River Cruise Day 13 Bratislava" ispublic="1" isfriend="0" isfamily="0" />
    </photos>
</string></value></param></params></methodResponse>
4

1 に答える 1

1

formatオプションを次のように変更できます"json"

var options = { 
  "api_key": API-KEY,
  "method": "flickr.photos.search",
  "accuracy": "11",
  "content_type": "1",
  "format": "json",                    //<--- JSON format
  "per_page": "1",
  "text": TITLE
}

そうすれば、応答を解析しやすくなると思います...

$.get(url, function(data) {
    $.each(data.photos, function(){
        console.log(this);  //<-- your photo object
    });
});
于 2013-08-12T12:09:00.320 に答える