0

node.jsでgoogle表にアクセスしようとしています。 pretty good looking APIがありますが、.pemファイルを使用してアプリケーションを認証しています。第二の方法は、のOAuth2または accesstoken という名前の何かのためにのclient_id client_secret refresh_tokenを使用することです。ので、JSON形式のキーでGoogleのスプレッドシートにアクセス

{ 
     type: 'service_account', 
     project_id: 'fu...ng-1234', 
     private_key_id: '2fd...0ba', 
     private_key: '-----BEGIN PRIVATE KEY ... END PRIVATE KEY-----\n', 
     client_email: '[email protected]', 
     client_id: '10...51', 
     auth_uri: 'https://accounts.google.com/o/oauth2/auth', 
     token_uri: 'https://accounts.google.com/o/oauth2/token', 
     auth_provider_x509_cert_url: 'https://www.googleapis.com/oauth2/v1/certs', 
     client_x509_cert_url: 'https://www.googleapis.com/robot/v1/metadata/x509/...%40appspot.gserviceaccount.com' 
} 

は、私はファイルを.PEMする PRIVATE_KEYをエクスポートする方法を知っているが、それは私には純粋な解決策のようには見えません。しかし、私がGoogleのdevのコンソールから持っていることはJSONフォーマットさの鍵でありますそれは余分なファイルと潜在的なセキュリティリスクを意味します。また、oauthによって使用され、oauth2を使用する可能性があります。では、これらのJSON形式の情報を使用して、APIでoauth2を使用してGoogleスプレッドシートにアクセスする方法はありますか?

ありがとうございました。

答えて

0

はい、GoogleシートAPIを使用してaccess Google spreadsheetOauth 2.0を使用できます。非公開ユーザー向けにGoogle APIをリクエストするときは、認証されたユーザーがデータを承認する必要があります。

Oauth2.0の認証プロセスの詳細は、作成しているアプリケーションの種類によって多少異なります。

次のプロセスは、すべてのアプリケーションに適用されます:

  • アプリケーションを作成する場合は、Googleに登録します。 Googleでは、クライアントIDやクライアントの秘密情報など、後で必要となる情報を提供しています。
  • アプリケーションでユーザーデータにアクセスする必要がある場合は、Googleに特定のアクセス範囲を要求します。
  • GoogleはユーザーにOAuthダイアログを表示し、アプリケーションにデータの一部を要求するように認証するよう依頼します。
  • ユーザーが承認すると、Googleはアプリケーションに一時的なアクセストークンを与えます。
  • アプリケーションは、アクセストークンを要求に添付してユーザーデータを要求します。
  • Googleがリクエストとトークンが有効であると判断した場合、リクエストされたデータを返します。

アプリケーションには、スコープ情報と、アプリケーション登録時にGoogleが提供する情報(クライアントIDやクライアントシークレットなど)が必要です。

GoogleスプレッドシートAPIのバージョンv4が利用可能になりましたので、今すぐアプリを移行してください。この移行ガイドでは、v4を使用するようにアプリケーションを更新する方法を示します。https://developers.google.com/sheets/guides/concepts

関連する問題