8

Google API を使用して Google ドライブにスプレッドシートを作成しています。

  • アプリに「Google ドキュメントにダウンロード」というリンクがあります
  • アプリはファイルを Google ドキュメントに送信し、ユーザーと共有します。
  • その後、ユーザーは Google ドキュメントでそれを見ることができます。

これはすべてうまくいきます。

問題は、ドキュメントを共有しているサービス アカウントの ID です。生成されたIDです。アプリにブランディングしたい。

これは可能ですか?-

この乱数です。 ブランド化してほしい。 これは可能ですか?

4

2 に答える 2

2

Google サービス アカウントでは、既存のユーザー アカウントを偽装することができます (一部のサービスについて)。Google ドライブでテストしたことはありませんが、ウェブマスター ツール API で使用しました。手順はこちらにあります: https://developers.google.com/identity/protocols/OAuth2ServiceAccount

要約すると、サービス アカウント資格情報を作成するときに、「アプリケーションが委任アクセスを要求しているユーザーの電子メール アドレス」で「サブ」パラメーターを指定できます。アクセスをリクエストしているアカウントが存在し、リクエストしているサービスへのアクセス権限を持っている必要があります。

上のリンクで、Google は Java、Python、HTTP/REST の例を提供しています。Python の例は次のとおりです。

credentials = SignedJwtAssertionCredentials(client_email, private_key,
'https://www.googleapis.com/auth/sqlservice.admin',
sub='user@example.org')

Ruby google-api-client gem (0.9.pre3) を使用していますが、ServiceAccountCredentials コンストラクターは「sub」パラメーターをその親クラスに渡さないため、別の手順で指定する必要があります。

client = Google::Auth::ServiceAccountCredentials.new(json_key_io: json_key_io, scope: scope)
client.update!(sub: 'user@example.org')
client.fetch_access_token!
service = Google::Apis::WebmastersV3::WebmastersService.new
service.authorization = client 

このコードを使用すると、サービス アカウントを使用して認証でき、サイトにアクセスできます

于 2015-09-29T20:19:55.333 に答える