Google Calendar APIを試してみたよ、PythonCE で。

投稿者: | 2007年12月22日

W-ZERO3[es]に先日インストールしてみたPythonCE Google Calendar API を試してみた。
{:rn:}
{:rn:}まずは、Google Calendar API のセットアップだが、通常であれば、ダウンロード後に展開したフォルダの中にあるsetupスクリプトを
{:rn:}

python setup.py install

{:rn:}などと実行すれば完了するのだが、W-ZERO3[es]ではこのセットアップ方法がうまくいかない。何らかの方法はあるのだろうと思い、ググってみたりしたがよくわからず。
{:rn:}仕方が無いので、パソコンにセットアップしたものをW-ZERO3[es]にコピーしてみた。
{:rn:}(パソコン側) (インストールフォルダ)\Lib\site-packages
{:rn:}(W-ZERO3[es]) (インストールフォルダ)\Lib
{:rn:}
{:rn:}すると、何の問題も無く使用できた。おぉ。
{:rn:}
{:rn:}ちなみに動作確認したサンプルプログラムは以下のとおり。
{:rn:}プログラム内で指定する usernamevisibility はGoogle Calendarの設定で参照できる非公開URLXMLリンクの中にある文字列を指定する。
{:rn:}処理は単に、指定したカレンダーの内容をリストアップし、指定したファイルに書き出しているだけである。
{:rn:}
{:rn:}{:rn:}なお、文字コード関係のエラーが出る場合は、こちらの記事を参考にすること。日本語を扱う場合の基本的な設定らしい。
{:rn:}{:rn:}【[:下:][:下:]サンプルプログラム[:下:][:下:]】

{:rn:}#!/user/bin/python{:rn:}# -*- coding: Shift-Jis -*-{:rn:}import codecs{:rn:}{:rn:}try:{:rn:}  from xml.etree import ElementTree # for Python 2.5 users{:rn:}except ImportError:{:rn:}  from elementtree import ElementTree{:rn:}{:rn:}import gdata.calendar.service{:rn:}import gdata.service{:rn:}import atom.service{:rn:}import gdata.calendar{:rn:}import atom{:rn:}import sys{:rn:}{:rn:}username = 'username@gmail.com'{:rn:}visibility = 'private-abcdefg'{:rn:}projection = 'full'{:rn:}query = gdata.calendar.service.CalendarEventQuery(username, visibility, projection){:rn:}{:rn:}calendar_service = gdata.calendar.service.CalendarService(){:rn:}feed = calendar_service.CalendarQuery(query){:rn:}{:rn:}s = []{:rn:}for i, an_event in enumerate(feed.entry):{:rn:}  s.append(an_event.title.text+','){:rn:}  s.append((an_event.when[0]).start_time+','){:rn:}  s.append((an_event.when[0]).end_time+','){:rn:}  s.append((an_event.where[0]).value_string+','){:rn:}  s.append(an_event.content.text+','){:rn:}  s.append(an_event.id.text+'\n'){:rn:}{:rn:}fout = codecs.open('testdata.txt', 'w', 'Shift_JIS'){:rn:}for u in s:{:rn:}   fout.write(u){:rn:}fout.close{:rn:}

{:rn:}{:rn:}