【发布时间】:2016-05-23 13:51:40
【问题描述】:
我正在尝试使用 node.js 访问 google 表。有一个pretty good looking API,但它使用 .pem 文件来验证应用程序。第二种方法是使用 client_id、client_secret 和 refresh_token 用于 oauth2 或名为 accesstoken 的东西。但是我从谷歌开发控制台得到的是一个 JSON 格式的密钥:
{
type: 'service_account',
project_id: 'fu...ng-1234',
private_key_id: '2fd...0ba',
private_key: '-----BEGIN PRIVATE KEY ... END PRIVATE KEY-----\n',
client_email: '...@appspot.gserviceaccount.com',
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'
}
我知道如何将 private_key 导出到 .pem 文件,但这对我来说似乎不是一个纯粹的解决方案,因为这意味着额外的文件和潜在的安全风险。而且它也被 oauth 使用,并且有可能使用 oauth2。那么,有没有办法使用 oauth2 使用这些 JSON 格式的信息通过 API 访问 google 电子表格?
非常感谢您的任何回答。
【问题讨论】:
标签: node.js oauth-2.0 google-sheets google-spreadsheet-api google-oauth