2013年5月4日土曜日

Google+APIを使っての画像を全て表示する




Google+APIを使って画像を表示してみる(´∀`)

入力欄にGoogle+のIDを入力して読み込みをクリックすれば、
Google+ の一般公開の時に投稿された画像が表示されます

最後まで読み込まれたら「読み込み完了」のAlertが表示されます。

サムネイルの画像は s200 Download用のリンクはs0 のフルサイズにしてあります。
初心者なのでおかしいところがあるかもしれません。

デモ

https://googledrive.com/host/0BxmTw5r3FUBvaXZPR1NNVWc0Skk/gPlus-img.html

参考元

ソース

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js"></script>
<script>


var apiKey = 'AIzaSyCyGLPV6NTctLhBUNnx2eWkNSG4ZrdBGpE';//API key このまま使わないでね(´∀`)
var counter;
function getActivity(){
 req('https://www.googleapis.com/plus/v1/people/' + $("#userId").val() + '/activities/public?maxResults=100&key=' + apiKey);
};
function req(url) { 
 $.ajax({
  type: 'GET',
  dataType: 'jsonp',
  url: url,
  success: function(msg) {
   callback(msg);
  if(msg.nextPageToken===undefined){
   alert($("#userId").val()+"全ての画像を読み込みました")
    }
          else{
    req('https://www.googleapis.com/plus/v1/people/' + $("#userId").val() + '/activities/public?maxResults=100&pageToken='+msg.nextPageToken + '&key=' + apiKey);
    }
   
  }
 });
}



function callback(msg)
{
 $.each(msg.items, function(i, item)
 {
  if (item.object.attachments)
  {
   $.each(item.object.attachments, function(ii, obj)
   {
    if (obj.objectType == 'photo')
    {

     img(obj.fullImage.url);

    }
    if (obj.objectType== 'album' )
    {
     $.each(obj.thumbnails, function(iii, obj1)
     {

       img(obj1.image.url);
       
       
      
     });
    } 
   });
   
  }
 })

}
function img(imgurl)
{
 var b = imgurl.split("/");
 var dwsize = b[0] + "//" + b[2] + "/" + b[3] + "/" + b[4] + "/" + b[5] + "/" + b[6] + "/s0/" + b[8]+ "";
 var vsize = b[0] + "//" + b[2] + "/" + b[3] + "/" + b[4] + "/" + b[5] + "/" + b[6] + "/s200-c/" + b[8]+ "";
 var li = $("<a href=\"" + dwsize + "\" target=\"_blank\"><img src=\""+vsize+"\"></a>");
 return $('#activityList').append(li);
}

</script>



<input type="text" id="userId" value="">
<button onClick="getActivity();"  class="btn">読み込み</button>
<div id="activityList"></div>