ちょっと検証したいことがあり、GoogleAppsのメールの設定情報を変更するEmail Settings APIを使ってみました。
Send ASをAPIで指定したかっただけなのですが、実は結構出来ない事がありそうでした。
例えば、Send ASのデフォルトの名称は画面からは変えられるんですが、
APIからは無理そうです。(誰か出来るのが分かったら教えてください)
詳細はこちらのDeveloperGuideを見る感じになりますが。
動かして分かった事実を整理しておきます。
1.更新はそもそもURLが無い。
2.デフォルトのSend Asを持って来れないし、削除も出来ない。
3.その他のSend Asは削除して、作成する、事でまぁ対応出来る。
4.デフォルトは作成時に設定可能。
5.同じSend Asのアドレスで名称を変えたものを作成する実質上書きのような動作になる。
検証したコードはこんな感じです。
GmailSettingsService gss = new GmailSettingsService("hoge","yoshidumi.co.jp","myAccount","XXpwdXX"); List<Map<String, String>> saList = gss.retrieveSendAs("myAccount");
//追加のテスト List<String> users = new ArrayList(); users.add("myAccount"); gss.createSendAs(users, "テストです3", "myAccount@yoshidumi.co.jp", "", true);// → OK // 更新のテスト// GenericEntry ge = gss.retrieveSendAsDef("myName");// ge.removeProperty(Constants.NAME);// ge.addProperty(Constants.NAME, "newName");// gss.updateSettings("myAccount", ge, "sendas");// →NG。どうも更新は対応してないっぽい。
//取り敢えず取ってきたもの表示してみる。 for (Map<String, String> sa : saList){ for (Map.Entry<String, String> e : sa.entrySet()) { System.out.println("key=" + e.getKey() + ", value=" + e.getValue()); } }
サンプルとして提供されているGmailSettingsServiceさえ作っちまえば後は簡単です。その中でやってることもそれ程難しく無いので、サンプルが無いだけかと思って作ってみましたが、URLが無いと言って怒られたので、ダメなのでしょう。
久しぶりにコーディングしたけど、やっぱ楽しいなー。なかなかついていくのが大変ですが。。
0 件のコメント:
コメントを投稿