My favorites | Sign in
Logo
                
Search
for
Updated Sep 03, 2009 by nakajiman1
Labels: jQuery.ajax, jQuery.get, jQuery.getData
Album  
jQuery.ajax supports Album API that fetches albums.

jQuery.ajax の datatype="data" は opensocial-0.8 を必要とします。

<Require feature="opensocial-0.8" />

アルバムリストを取得する

jQuery.ajax を使って VIEWER の アルバムリストを取得できます。

  $.ajax({
    url: '/albums/@viewer/@self',
    data: {},
    dataType: 'data',
    success: function(albums) {
      $.each(albums, function(i, album) {
        console.info(album.id);
        console.info(album.title);
        console.info(album.description);
        console.info(album.thumbnailUrl);
        console.info(album.ownerId);
        console.info(album.mediaItemCount);
      });
    },
    error: function(xhr, status, e) {
      console.error(xhr, status, e);
    }
  });

また jQuery.get を使っても同じことができます。

  $.get('/albums/@viewer/@self', {}, function(albums) {}, 'data');

さらに jQuery.getData を使っても同じことができます。

  $.getData('/albums/@viewer/@self', {}, function(albums) {});

フィルタ条件を指定する

URL のパスを使って、アルバムID を指定できます。アルバムID はカンマ区切りで指定します。

  $.ajax({
    url: '/albums/@viewer/@self/1251149609611,1251414395296',
    data: {},
    dataType: 'data',
    success: function(albums) {
      $.each(albums, function(i, album) {
        console.info(album.id);
      });
    },
    error: function(xhr, status, e) {
      console.error(xhr, status, e);
    }
  });

ページング条件を指定する

startIndex と count パラメータを使って、ページング条件を指定できます。startIndex で取得位置、count で取得件数を指定します。startIndex は 0 が 1件目を表します。省略したときは、先頭から 20 件です。

  $.ajax({
    url: '/albums/@viewer/@self',
    data: { startIndex: 0, count: 10 },
    dataType: 'data',
    success: function(albums) {},
    error: function(xhr, status, e) {}
  });

また startIndex と count パラメータは URL にも指定できます。

  $.ajax({
    url: '/albums/@viewer/@self?startIndex=0&count=10',
    data: {},
    dataType: 'data',
    success: function(albums) {},
    error: function(xhr, status, e) {}
  });

さらに、アルバムリストから、取得位置、1ページあたりの取得件数、総件数を取得できます。

  $.ajax({
    url: '/albums/@viewer/@self',
    data: {},
    dataType: 'data',
    success: function(albums) {
      console.info(albums.startIndex);
      console.info(albums.itemsPerPage);
      console.info(albums.totalResults);
    },
    error: function(xhr, status, e) {}
  });

HTML エスケープしません

jQuery.ajax と jQuery.get, jQuery.getData は、アルバム項目を HTML エスケープしません。

関連リンク


Sign in to add a comment
Hosted by Google Code