OAuthを使用する代わりに、Googleアカウントのユーザー名とパスワードだけで認証できますか?そうでない場合、Google Drive APIの将来のバージョンでこの種の認証をサポートする予定ですか?
現在、ユーザー名とパスワードだけで認証できるGoogleドキュメントリストAPIを使用しています。だから私はGoogleドライブAPIで同じことをすることができるかどうか疑問に思っています。
OAuthを使用する代わりに、Googleアカウントのユーザー名とパスワードだけで認証できますか?そうでない場合、Google Drive APIの将来のバージョンでこの種の認証をサポートする予定ですか?
現在、ユーザー名とパスワードだけで認証できるGoogleドキュメントリストAPIを使用しています。だから私はGoogleドライブAPIで同じことをすることができるかどうか疑問に思っています。
OAuth 2.0 を認証メカニズムとして使用できない理由はありますか?
クライアント ログインは現在非推奨であり、OAuth 2.0 を使用することをお勧めします。
Drive SDK のドキュメントと、さまざまなクライアント ライブラリ プロジェクト ページで、作業を開始するのに役立つ複数のコード サンプルを利用できます。
このブログ投稿をどこか (おそらくここ) で見つけました: http://blog.databigbang.com/automated-browserless-oauth-authentication-for-twitter/。
Twitter に関することだとは思いますが、同じ方法を使用しているので、名前を少し変更する必要があると思います。要するに、スクリプトがサーバーによってのみ実行される場合は、Jython + HTMLUnit をインストールし、ユーザーが生成された認証リンクに移動して「アクセスを許可」ボタンをクリックし、トークンを取得することをシミュレートします。
サーバー アプリケーションを実行している場合は、OAuth2 と Drive API でサービス アカウントを使用することを検討してください。これにより、ユーザーがコンソールまたは UI を介して OAuth2 資格情報を提供しなくても、サーバー上でアプリを実行できます。特定のアカウントを持つドキュメントに対してアプリを動作させたい場合は、偽装を行うこともできます。
GoogleCredentials credentials = new GoogleCredential.Builder()
.setTransport(HTTP_TRANSPORT)
.setJsonFactory(JSON_FACTORY)
.setServiceAccountId("[[SERVICE_ACCOUNT_EMAIL]]")
.setServiceAccountScopes(DriveScopes.DRIVE, DriveScopes.DRIVE_FILE,
"https://www.googleapis.com/auth/userinfo.email",
"https://www.googleapis.com/auth/userinfo.profile")
.setServiceAccountPrivateKeyFromP12File(Auth.keyFile)
.setServiceAccountUser("[[impersonateduser@domain]]")
.build();
credentials.refreshToken();