2013-05-30 6 views
7

Google App Engine(GAE)とGlassware開発(Google Glass用)の新機能です。APIパッケージ 'urlfetch'または 'Fetch()'が見つかりませんでした

また、私はプロジェクトを実行することに成功したが、私は先に問題を抱えていますNetbeansApache tomcatmirror-quickstart-javaプロジェクトを構成しました。

私の要件は、自分のGlasswareの開発にGoogleアプリケーションエンジンを使用したくないため、サードパーティ製のAPIをほとんど使用したくないということです。また、アプリエンジンはjavax.imageioBufferedImage apisをサポートしていません。

私は

  1. は、ミラー・クイックスタート-javaの/ガラス製品開発のためのGoogleのapp-engineを使用する義務です念頭に置いての質問に次がありますか?
  2. アクセストークンの交換中に「アクセスを許可する」ステップの後に次のエラーが表示されます。
message The API package 'urlfetch' or call 'Fetch()' was not found. 

description The server encountered an internal error that prevented it from fulfilling this request. 

com.google.apphosting.api.ApiProxy$CallNotFoundException: The API package 'urlfetch' or call 'Fetch()' was not found. 
    com.google.apphosting.api.ApiProxy.makeSyncCall(ApiProxy.java:100) 
    com.google.appengine.api.urlfetch.URLFetchServiceImpl.fetch(URLFetchServiceImpl.java:38) 
    com.google.api.client.extensions.appengine.http.UrlFetchRequest.execute(UrlFetchRequest.java:75) 
    com.google.api.client.http.HttpRequest.execute(HttpRequest.java:980) 
    com.google.api.client.auth.oauth2.TokenRequest.executeUnparsed(TokenRequest.java:299) 
    com.google.api.client.googleapis.auth.oauth2.GoogleAuthorizationCodeTokenRequest.execute(GoogleAuthorizationCodeTokenRequest.java:175) 
    com.google.api.client.googleapis.auth.oauth2.GoogleAuthorizationCodeTokenRequest.execute(GoogleAuthorizationCodeTokenRequest.java:78) 
    com.google.glassware.AuthServlet.doGet(AuthServlet.java:56) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:621) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:728) 
    org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393) 

答えて

5

が前方にかなりストレートですが、それはいくつかのコードの変更を必要としません:

  1. NetHttpTransportなどの代替とUrlFetchTransportのインスタンスを置き換えます。 AuthUtil.javaMirrorClient.java
  2. には、任意の永続化レイヤ(Hibernate、SQLiteなど)を使用する新しい実装CredentialStoreを置き換えます。

依存関係管理スクリプトとビルドスクリプトにはいくつかの変更が必要ですが、実行計画には多くの部分があります。

1

あなたのガラス製品のためのAppEngineを使用する必要はありません。唯一の要件は、HTTPSを使用してサブスクリプションの返信が送信されるため、サーバーがこれを処理するように正しく設定されていることを確認する必要があります。

urlfetchパッケージは、appengine固有のパッケージです。 Appengineライブラリがプロジェクトから削除されていることを確認し、それを参照するコードが標準のjava.netライブラリを使用するように書き直されている必要があります。これは認証の一部なので、Google+ Sign-Inなどの代替のOAuth2メソッドを使用することができます。別のJ2EEコンテナにApp Engineのからクイックスタートプロジェクトを移動

関連する問題