1

ユーザー(機能アカウント)の写真にアクセスするAndroidアプリケーションを作成しています。可能であれば、機能するアカウント ID とパスワードをハードコーディングしても問題ありません。エンド ユーザーの操作は必要ありません。

Android がサポートしていないため、Google データ API を使用できません。 私が見つけた最も近いものは、この Single-user "installed" client authentication in Gdata API doc です。ClientLogin (「Authentication for Installed Applications」とも呼ばれます) を使用するには、作成しますPicasawebService オブジェクト、次に setUserCredentials メソッドを呼び出してユーザー ID とパスワードを設定します

PicasawebService myService = new PicasawebService("exampleCo-exampleApp-1"); 
myService.setUserCredentials("liz@gmail.com", "mypassword");

Picasa サービスは API コンソールでは利用できません。

一方、OAuth 2.0 を使用しようとすると、利用できません

Picasa は非常に人気があるのではないかと思いますが、そのような簡単なアクセスを行うにはどうすればよいでしょうか?

公式 picasa-atom-oauth サンプル

これは、私が見つけた公式の picasa-atom-oauth サンプルです。カスタマイズされたコールバック サーバー クラスがありますが、ブラウザを使用してトークンを取得しているようです。パスワードをハードコードすることは可能ですか?

この同様の質問を読みましたが、トークンにも問題があるようです。"oauth2:https://picasaweb.google.com/data/"提案どおりに使用できた人はいますか?

4

1 に答える 1

0

最後に、より多くの例をグーグルで調べた後、古いクライアントログインが道です。

Google API クライアント 1.10.1-beta を使用しました

  private static String getTokenByAuthenticatingWithClientLogin(HttpTransport transport) throws IOException {
    ClientLogin authenticator = new ClientLogin();
    authenticator.authTokenType = "lh2";
    authenticator.username = "username";
    authenticator.password = "password";
    authenticator.transport = transport;
    return authenticator.authenticate().getAuthorizationHeaderValue();
  }

ヘッダーにトークンを設定する

GoogleHeaders headers = new GoogleHeaders();
headers.setApplicationName("APOD/1.0");
headers.setGDataVersion("2");
  String token = getTokenByAuthenticatingWithClientLogin(transport);
  headers.setAuthorization(token);

次に、com.google.api.client.http.HttpRequestFactory を使用してリクエストを作成します。

于 2012-07-29T05:15:17.620 に答える