【问题标题】:Cannot POST to Trello API even when authenticated即使经过身份验证也无法 POST 到 Trello API
【发布时间】:2016-12-08 14:11:59
【问题描述】:

我一直在尝试启动并运行 Google Apps 脚本,以便在每次完成表单时将电子表格条目移动到 Trello 板上。我正在测试 OAuth1 流程,但无论我如何进行身份验证,我都无法通过 POST 进行任何操作(到目前为止,GET 请求对除 cards 之外的所有内容都有效)。我已确认这些应用在我的帐户设置中具有必要的读/写权限。

出于测试目的,我通过以下 URL 在 Trello 中使用了 Single Use Token 选项:

https://trello.com/1/authorize?name=SingleUseTesting&expiration=never&scope=read,write&key=MYKEY

授权表明该应用有权读取和写入我的帐户。

授权在我的帐户仪表板中显示为启用读/写。

我可以从以下位置获得对我的卡片的回复:

https://api.trello.com/1/lists/LIST_ID/cards

当我尝试使用以下 API 通过 API URL POST 时:

https://api.trello.com/1/lists/57a0b90f8b1740162702fa22/cards?&name=testing&due=null&key=MYKEY&token=MYTOKEN

我收到一条错误消息,提示令牌无效。我什至撤消了对所有其他应用程序的访问权限,以查看它是否出于某种原因检查了错误的令牌,但结果没有任何变化。

我需要确保 POST URI 能够成功从 Google Apps 脚本发送 payload 对象,但我无法超越这一步。对我哪里出错有任何见解吗?

【问题讨论】:

    标签: rest oauth trello


    【解决方案1】:

    解决方案不在 Trello 文档中(我可以找到),所以我将其发布在这里,以防其他人遇到同样的问题。

    由于 Google 已删除 OAuth1 库对象和方法,因此通过 URL 为您的 Trello API 密钥请求永久令牌要容易得多。但是,为了使其正常工作,您必须在 URL 中将 request_type 设置为 token

    授权请求应如下所示:

    https://trello.com/1/authorize?key=YOUR_APP_KEY&name=APP_NAME&scope=read,write&expiration=never&response_type=token

    返回的页面有一个字符串,该字符串包含在payload 中,用于验证对 API 密钥的写入请求。

    可以在this GitHub Gist 中找到完整的工作代码示例。

    【讨论】:

      【解决方案2】:

      有点晚了,但这是我发现的。

      如果您的应用程序使用 GET 请求,您应该有一个如下所示的获取 URL:

      var url="https://api.trello.com/1/boards/MY_BOARD_ID/lists";
      

      除非您另外指定,否则 GET 请求是 Trello API 中的默认方法。 对于其他三种类型(PUT、POST 和 DELETE),您需要将请求方法作为参数传递。

      这是我的脚本中的编码方式:

      var url="https://api.trello.com/1/cards/MY_CARD_ID/pos?value=top";
      var options={"method":"put"};
      var response=service.fetch(url,options);
      

      正如您在这段 sn-p 代码中看到的那样,实际的请求参数是通过 URL 和 options 变量中的方法传递的。我的猜测是,您也可以通过 options 变量中的有效负载对象发送它,但我现在懒得测试它。 Trello API 文档中描述了要用于每个请求的方法: https://developers.trello.com/advanced-reference

      希望对你有帮助。

      【讨论】:

        猜你喜欢
        • 2017-06-24
        • 2021-05-23
        • 2020-12-02
        • 1970-01-01
        • 2018-12-22
        • 1970-01-01
        • 2019-09-25
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多