|
|
@@ -1,6 +1,6 @@
|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
<!-- Reviewed: no -->
|
|
|
-<!-- EN-Revision: 20779 -->
|
|
|
+<!-- EN-Revision: 23879 -->
|
|
|
<sect1 id="zend.gdata.calendar">
|
|
|
<title>Google Calendar の使用法</title>
|
|
|
<para>
|
|
|
@@ -232,7 +232,7 @@ $service = new Zend_Gdata_Calendar();
|
|
|
カレンダーサービスには、
|
|
|
認証済みのユーザのカレンダーの一覧を取得する機能があります。
|
|
|
これは Google Calendar の画面に表示される一覧と同じですが、
|
|
|
- "<code>hidden</code>" とマークされているものも取得できるという点が異なります。
|
|
|
+ "<emphasis>hidden</emphasis>" とマークされているものも取得できるという点が異なります。
|
|
|
</para>
|
|
|
<para>
|
|
|
カレンダーリストは常に非公開なので、認証済み接続でアクセスする必要があります。
|
|
|
@@ -338,7 +338,7 @@ echo "</ul>";
|
|
|
<classname>Zend_Gdata_Query</classname> を使用して非公開フィードを指定しています。
|
|
|
つまり、認証済みの接続が必要となります。
|
|
|
認証に MagicCookie を使用している場合は、可視性は
|
|
|
- "<code>private-magicCookieValue</code>"
|
|
|
+ "<emphasis>private-magicCookieValue</emphasis>"
|
|
|
としなければなりません。magicCookieValue
|
|
|
のところは、Google Calendar で非公開
|
|
|
<acronym>XML</acronym> アドレスを閲覧した際に取得したランダムな文字列となります。
|
|
|
@@ -387,13 +387,13 @@ echo "</ul>";
|
|
|
指定した範囲、たとえば 2006 年 12 月 1 日から
|
|
|
2006 年 12 月 15 日までのすべてのイベントを表示するには、
|
|
|
先ほどのサンプルに次の 2 行を追加します。
|
|
|
- "<code>$query->setFutureevents('true')</code>"
|
|
|
+ "<command>$query->setFutureevents('true')</command>"
|
|
|
を削除することを忘れないでください。
|
|
|
- <code>futureevents</code>
|
|
|
+ <property>futureevents</property>
|
|
|
を指定すると
|
|
|
- <code>startMin</code>
|
|
|
+ <property>startMin</property>
|
|
|
や
|
|
|
- <code>startMax</code>
|
|
|
+ <property>startMax</property>
|
|
|
を上書きしてしまうからです。
|
|
|
</para>
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
@@ -401,9 +401,9 @@ $query->setStartMin('2006-12-01');
|
|
|
$query->setStartMax('2006-12-16');
|
|
|
]]></programlisting>
|
|
|
<para>
|
|
|
- <code>startMin</code>
|
|
|
+ <property>startMin</property>
|
|
|
は範囲に含まれますが、
|
|
|
- <code>startMax</code>
|
|
|
+ <property>startMax</property>
|
|
|
は含まれないことに注意しましょう。上の例の場合、
|
|
|
2006-12-15 23:59:59 までのイベントが対象となります。
|
|
|
</para>
|
|
|
@@ -517,12 +517,6 @@ try {
|
|
|
</listitem>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <firstterm>Hidden</firstterm>
|
|
|
- は、そのイベントを Google Calendar 上で非表示にします。
|
|
|
- </para>
|
|
|
- </listitem>
|
|
|
- <listitem>
|
|
|
- <para>
|
|
|
<firstterm>Transparency</firstterm>
|
|
|
は、そのイベントをユーザの予定表に反映させるかどうかを指定します。
|
|
|
</para>
|
|
|
@@ -595,24 +589,24 @@ $newEvent = $service->insertEvent($event);
|
|
|
<sect3 id="zend.gdata.calendar.creating_events.schedulers_reminders">
|
|
|
<title>イベントのスケジュールおよびリマインダー</title>
|
|
|
<para>
|
|
|
- イベントの開始時刻と期間は <code>when</code> プロパティによって決まります。
|
|
|
+ イベントの開始時刻と期間は <property>when</property> プロパティによって決まります。
|
|
|
この中には
|
|
|
- <code>startTime</code>、<code>endTime</code>
|
|
|
- および <code>valueString</code>
|
|
|
+ <property>startTime</property>、<property>endTime</property>
|
|
|
+ および <property>valueString</property>
|
|
|
というプロパティが含まれます。
|
|
|
- <code>StartTime</code> および <code>EndTime</code>
|
|
|
- がイベントの期間を表します。一方 <code>valueString</code>
|
|
|
+ <emphasis>StartTime</emphasis> および <emphasis>EndTime</emphasis>
|
|
|
+ がイベントの期間を表します。一方 <property>valueString</property>
|
|
|
は現在使われていません。
|
|
|
</para>
|
|
|
<para>
|
|
|
全日のイベントを作成するには、
|
|
|
- <code>startTime</code>
|
|
|
+ <property>startTime</property>
|
|
|
および
|
|
|
- <code>endTime</code>
|
|
|
+ <property>endTime</property>
|
|
|
で日付のみを指定し、時刻は省略します。
|
|
|
同様に、期間がゼロのイベントを作成する場合は
|
|
|
- <code>endTime</code> を省略します。
|
|
|
- すべての場合について、日付や時刻は
|
|
|
+ <property>endTime</property> を省略します。
|
|
|
+ すべての場合について、日時は
|
|
|
<ulink url="http://www.ietf.org/rfc/rfc3339.txt">RFC3339</ulink>
|
|
|
形式で指定しなければなりません。
|
|
|
</para>
|
|
|
@@ -627,20 +621,20 @@ $when->endTime="2007-12-05T15:00:00:00-08:00";
|
|
|
$event->when = array($when);
|
|
|
]]></programlisting>
|
|
|
<para>
|
|
|
- <code>when</code> 属性では、
|
|
|
+ <property>when</property> 属性では、
|
|
|
ユーザへのリマインダーをいつ送信するかを指定することもできます。
|
|
|
リマインダーは配列形式で保存し、各イベントには
|
|
|
5 つまでのリマインダーを関連づけることができます。
|
|
|
</para>
|
|
|
<para>
|
|
|
- <code>reminder</code> を指定するには、少なくともふたつの属性
|
|
|
- <code>method</code> と time を指定する必要があります。
|
|
|
- <code>method</code> には "alert"、"email"
|
|
|
+ <emphasis>reminder</emphasis> を指定するには、少なくともふたつの属性
|
|
|
+ <property>method</property> と time を指定する必要があります。
|
|
|
+ <emphasis>method</emphasis> には "alert"、"email"
|
|
|
あるいは "sms" を文字列で指定します。time
|
|
|
は整数値で指定します。
|
|
|
- <code>minutes</code>、<code>hours</code>、<code>days</code>
|
|
|
+ <property>minutes</property>、<property>hours</property>、<property>days</property>
|
|
|
を指定するか、あるいは
|
|
|
- <code>absoluteTime</code> を指定します。
|
|
|
+ <property>absoluteTime</property> を指定します。
|
|
|
しかし、指定するのはこれらの中のどれかひとつのみとしなければなりません。
|
|
|
複数の単位が必要な場合は、一番小さい単位に換算して指定します。
|
|
|
たとえば、1 時間 30 分の場合は 90 分と指定しなければなりません。
|
|
|
@@ -670,7 +664,7 @@ $when->reminders = array($reminder);
|
|
|
</para>
|
|
|
<para>
|
|
|
繰り返しパターンの例外は、別途
|
|
|
- <code>recurrenceException</code> 属性で指定します。
|
|
|
+ <property>recurrenceException</property> 属性で指定します。
|
|
|
しかし、iCalendar の標準規格では第二の繰り返しパターンを定義できます。
|
|
|
どちらかを使用するといいでしょう。
|
|
|
</para>
|
|
|
@@ -714,8 +708,8 @@ $newEvent = $service->insertEvent($event);
|
|
|
たとえば、"Dinner at Joe's Diner on Thursday" という文字列を指定すると、
|
|
|
タイトルが "Dinner"、場所が "Joe's Diner"、日付が "Thursday"
|
|
|
のイベントが作成されます。QuickAdd 機能を使用するには、
|
|
|
- <code>QuickAdd</code> プロパティを <constant>TRUE</constant> に設定し、
|
|
|
- 任意のテキストを <code>content</code> プロパティに指定します。
|
|
|
+ <property>QuickAdd</property> プロパティを <constant>TRUE</constant> に設定し、
|
|
|
+ 任意のテキストを <property>content</property> プロパティに指定します。
|
|
|
</para>
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
// カレンダーサービスのマジックメソッドで、新規エントリを作成します
|
|
|
@@ -771,11 +765,11 @@ try {
|
|
|
メソッドをコールすることです。
|
|
|
</para>
|
|
|
<para>
|
|
|
- どちらの場合も、クエリのパラメータ <code>updateMin</code>
|
|
|
+ どちらの場合も、クエリのパラメータ <property>updateMin</property>
|
|
|
を指定した場合は削除後もそのイベントが
|
|
|
プライベートイベントフィードとして残ります。
|
|
|
削除されたイベントと通常のイベントを区別するには
|
|
|
- <code>eventStatus</code> プロパティを確認します。
|
|
|
+ <property>eventStatus</property> プロパティを確認します。
|
|
|
削除されたイベントは、このプロパティが
|
|
|
"http://schemas.google.com/g/2005#event.canceled"
|
|
|
に設定されています。
|
|
|
@@ -802,8 +796,8 @@ $service->delete($event->getEditLink()->href);
|
|
|
ただ、使用するフィードクラスやエントリクラスは異なります。
|
|
|
またイベントのメタデータにある where や when
|
|
|
といったプロパティはコメントにはありません。コメントの発言者は
|
|
|
- <code>author</code> プロパティに、そしてコメントの本文は
|
|
|
- <code>content</code> プロパティに格納されます。
|
|
|
+ <property>author</property> プロパティに、そしてコメントの本文は
|
|
|
+ <property>content</property> プロパティに格納されます。
|
|
|
</para>
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
// コメントの URL を、フィードリストの最初のイベントから取得します
|