libro
www.tuyano.com
Google Apps Scriptプログラミング [中級編]

Google+にアクセスする (4/6)

作成:2014-04-26 09:12
更新:2014-04-26 09:12

■ActivityとComment

投稿情報であるActivityオブジェクトでは、投稿のIDや日時などの情報はそのままActivityのプロパティとして用意されています。ですから、このプロパティを取り出すことで投稿の情報を得ることができます。――以下に主なプロパティをまとめておきましょう。

●Activityの主なプロパティ
title――タイトル
published――投稿日時
updated――更新日時
id――投稿のID
url――投稿の公開URL
object――投稿コンテンツのオブジェクト。以下のようなプロパティがある
  content――投稿のコンテンツ
  originalContent――オリジナルの投稿コンテンツ

これで、投稿を取得することができました。……でも、何か足りないですね? そう、コメントです。コメントはどうやって取り出すのでしょうか。


■PlusDomains.Commentsについて

コメントは、実はActivityには含まれていません。コメント情報は、PlusDomains.Commentsプロパティに設定される「CommentsCollection」というオブジェクトで管理されます。ここから「list」を使って取り出すことができます。

●コメント情報のリストを得る
変数 = PlusDomains.Comments.list( ActivityのID );

引数に、コメントを取り出したいActivityのIDを指定すると、その投稿に付けられたコメントが取得されます。得られる値は、「CommentFeed」というオブジェクトで、その中の「items」プロパティに、コメント情報となる「Comment」というオブジェクトの配列がまとめられています。このComment内に、コメントの情報がプロパティとして保管されているのです。

Commentの主なプロパティは……、実は、Activityとほぼ同じです。idtitleでIDやタイトルを取り出し、object.contentでコンテンツを取り出す、これらはActivityと同じなのです。もちろん、細かな部分はいろいろ違いがありますが、基本的な情報の取得に関してはActivityCommentも変わりないと考えてよいでしょう。

では、実際の利用例を下にあげておきましょう。指定したユーザーIDの投稿を10個取り出し、その内容とコメントをログに出力します。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

function getposts() {
  var posts = PlusDomains.Activities.list('……ユーザーID……', 'user', {
    maxResults: 10,
    pageToken: null
  });
  if (posts.items){
    for(var i = 0;i < posts.items.length;i++){
      var item = posts.items[i];
      Logger.log('POST:' + item.object.content);
      var cmts = PlusDomains.Comments.list(item.id);
      for(var j = 0;j < cmts.items.length;j++){
        Logger.log('comment:' + cmts.items[j].object.content);
      }
    }
  }
}
※関連コンテンツ

「Google Apps Scriptプログラミング [中級編]」に戻る