api - 我可以使用 Google 表格连接到 API(使用 OAuth2)或者我可以从 Postman 向 Google 表格发送每小时的预定回复吗?

标签 api oauth-2.0 postman

目标 我想连接到一个 API(连接到一个名为 Sharesight 的 Web 服务,用于监控股票投资组合),以便我可以每小时(在工作日)将我的投资组合返回提取到 Google 表格中。然后我将使用 Google 表格每小时向我发送一封电子邮件。

确切的过程不一定是那样,但本质上我想从帐户中提取一些数据并将其通过电子邮件发送给我。我计划使用 Google 表格,因为我想从 JSON 中选择特定的内容,所以我认为这是设置公式等的简单方法。

警告 我知道 API 是什么,但我以前从未接触过它们,所以我边学边学。

我在 Google 表格中尝试过的... 我尝试使用 Google 表格编写一些代码(我认为它是 Javascript)以连接到 Sharesight(使用所有客户端 ID、客户端密码、授权 token URI、访问 token URI 等)我认为我失败的地方是我需要指定 Sharesight 注释中的“重定向 URI”,它表示对于本地测试,我可以使用“urn:ietf:wg:oauth:2.0:oob”。无论如何我都试过了,但我想我不能,因为我没有做本地测试。

- 所以我的第一个绊脚石是...如何获得重定向 URI 连接到我的 Google 表格?

然后,我尝试了 Postman 我刚刚在 google 上搜索了 API 工具并发现了这个所以我想试一试,因为我实际上什至还没有连接到 API。幸运的是,我通过了并且连接良好。我对我的投资组合 URL 使用了 GET 东西,我必须将昨天的日期和今天的日期作为报告的参数传递 - 效果很好!

但后来我想,我需要将它导入到 Google 表格中。这真的可能吗?在 postman 中,我正在使用他们的重定向 URI,这就是为什么我认为我能够进一步进步( https://www.getpostman.com/oauth2/callback )——但是我需要额外的步骤来插入它。

但是随后出现了一些其他问题:

  • Postman 真的可以每小时运行一次并“做某事”吗?有没有 调度能力?

  • 它可以在我的电脑未开启时运行吗?如果不是,那就是 对我来说没什么用(除非我可以复制代码)

  • 有没有一种方法可以导出“获取新访问 token ”的代码,它似乎很好地显示为 GUI 东西,但我确信在 Auth 后端发生了几件事URL 和访问 token URL。如果我能够使用 Google 表格,这可能会很方便。

关于我接下来应该尝试什么的任何指示?或者这几乎不可能?

最佳答案

“代码”授权类型仅适用于基于浏览器的应用。

您应该能够执行不需要重定向的“密码”授权类型:

  var url = 'https://portfolio.sharesight.com/oauth2/token?grant_type=password&client_id=' 
    + clientId 
    + '&username=' + username + '&password=' + password;

  var response = UrlFetchApp.fetch(url,  { method: 'POST', muteHttpExceptions: true} );
  Logger.log("authorize response: " + response.getResponseCode() 
    + "; " + response.getContentText());

  var responseMsg = JSON.parse(response.getContentText());
然后应填充

responseMsg.access_tokenresponseMsg.refresh_token。您可以使用它们在 Sharesight 中进行任何 API 调用,例如来自电子表格中用户定义的函数。

显然,您需要将您的凭据放入脚本中 - 我通过 Google 表格中的对话框完成了此操作。

或者(我没有在 Google 表格中对此进行测试)您可以授予“client_credentials” - 为此您需要首先联系 Sharesight 支持并将您的客户端 ID 与您的用户相关联,然后您就可以连接客户端 ID 和密码。

(参见 https://alexbilbie.com/guide-to-oauth-2-grants/)

关于api - 我可以使用 Google 表格连接到 API(使用 OAuth2)或者我可以从 Postman 向 Google 表格发送每小时的预定回复吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52498896/

相关文章:

Azure 企业管理员同意动态应用程序范围

java - 通过 POST 正文发送复杂对象(带有 Map)- JSON

arrays - 我可以在 POSTMAN 中发送二维数组作为参数吗?

Angular Http PUT 不向 Web-API 发送请求

python - 未绑定(bind)的本地错误python

javascript - 将 Google map API nearBysearch 与多种类型一起使用

javascript - 当字段名称包含 @ 字符时,如何从 JSON 响应中提取数据

youtube - 检索YouTube迪斯科播放列表

django - 授权凭据被剥离 --- django、elastic beanstalk、oauth

http - Oauth 仅撤销访问 token