スクリプトを使ってGoogle+に投稿する場合はどうするのでしょう。これも、投稿情報を管理する
PlusDomains.Activitiesにメソッドが用意されています。「
insert」というもので、以下のような形で実行します。
●Google+に投稿するPlusDomains.Activities
.insert( 投稿内容 , ユーザーID );
引数には投稿内容をまとめたオブジェクトと、投稿するユーザーのIDが指定されます。このユーザーIDは、基本的にアクセス権を持っているユーザーでないと投稿できません。これはイコール「自分自身」と考えてよいでしょう。この場合、IDを指定するのでなく、
"me"とすれば自分の投稿として扱われます。
問題は投稿内容のオブジェクトでしょう。これは少々込み入った構造をしています。整理すると以下のようになるでしょう。
{
object: {
originalContent: オリジナルのコンテンツ
},
access: {
items:[ { type: タイプ } ],
domainrestricted: 真偽値
}
};
やはり、JSONのようにJavaScriptとして内容をまとめてあります。この中には「
objectと」「
access」という2つのプロパティがあり、それぞれに更にオブジェクトが用意されています。
●originalContentについて投稿する内容は、
originalContentに設定します。contentではなく、
originalContentとなっているのは、この投稿が(再共有などでなく)最初のオリジナルの投稿となるためです。従って、必ず
originalContentに内容を設定します。
●typeについてこの中で注意が必要なのは、
access内にある
itemsの「
type」でしょう。これは、その投稿の公開範囲を示すものになります。用意されている値は以下のようになります。
person――自分専用の非公開
circle――サークルメンバー
myCircles――全てのサークルメンバー
extendedCircles――サークルメンバーのサークルまで
domain――Google Appsドメイン内
public――一般公開
●domainrestrictedについてtypeとは別に、アクセス権に関するものとして「
domainrestricted」というプロパティが用意されています。これは、公開範囲をドメイン内に限定するためのものです。これを
trueにすると、
typeでどのように設定されているかに関係なく、ユーザーの所属ドメインの外からは見えなくなります。
重要なのは、「現時点で
domainrestrictedは
falseにできない」という点でしょう。現在の
Google+ Domains APIでは、Google Appsのドメイン内でのみ使えるよう機能が制限されています。従って、
typeを
publicにしても、ドメイン外に公開される投稿は行えません。
おそらく、ドメイン外にも投稿できるようにいずれAPIもアップデートされると思いますが、今のところは「ドメイン外への投稿は無理」と考えておきましょう。――では、下に簡単なサンプルを挙げておきます。ドメイン内で公開された投稿を行うものです。
originalContentのテキストをいろいろと変更して投稿される内容を確認してみましょう。