URL Fetch Java APIを実行する
これまでの手順で、URL Fetch Java APIを利用したプログラムが完成しました。プロジェクト名を右クリックして、[Run As]-[Web Application]を選択してください。
次のように表示されていればOKです。入力ボックスが「http://www.google.co.jp」となっていることを確認して、[Send]ボタンをクリックします。

入力ボックスの下に次のようなリストが表示されていると思います。Google App EngineがPathtraqのサーバと通信するので、リストが表示されるまでは一瞬 間があることを感じられると思います。[title]や[link]の横にある[+]ボタンをクリックしてリストを開きます。

ローカル環境でテストをする時には、URL Fetch Java APIで接続したいサーバとローカルマシンがネットワーク的に直接通信できる必要があります。セキュリティの厳しい会社からテストされる場合にはご注意ください。
ローカルで正常に動作することが確認できたら、Google App Engineにアプリケーションをデプロイしても同じように動作することを確認してください。
まとめ
今回はURL Fetch Java APIを勉強しましたが、いかがでしたでしょうか? 今回の記事で、他のウェブサービスからGoogle App Engine上のプログラムに情報を引き出すことが簡単にできるということが分かっていただけたかと思います。
Google App Engineでは自由な通信が制限されていますが、URL Fetch Java APIを利用することで、一般的なウェブサービスで利用する分には、ほとんど自由な通信が可能です。
Googleのサービス上にあるデータはGoogle Data APIを利用することでアクセスできますが、このGoogle Data APIでは、Pure Javaで実装されたクライアントライブラリが用意されており、通信にはURL Fetch Java APIと同じJava標準APIで実装されているため、Google App Engineでも利用できます。
興味のある方は、Googleの各種サービスと連動させてみてはいかがでしょうか?
Google Data API ライブラリ中で利用されているjava.net.CookieHandlerクラスのgetDefault()メソッドが制限対象のため、そのままライブラリを実行すると、
java.security.AccessControlException: access denied (java.net.NetPermission getCookieHandler)
とエラーが出ます。
回避用の設定が用意されており、「war/WEB-INF/appengine-web.xml」ファイルの<system-properties>タグの中に、以下の一行を設定することで制限対象のgetDefault()メソッドの利用を回避できます。
<property name="com.google.gdata.DisableCookieHandler" value="true"/>
