api访问令牌发布请求,从哪里开始

时间:2015-11-20 01:37:00

标签: api google-apps-script

我几个月来一直在努力学习Auth,归结为我不知道从哪里开始,似乎有很多不同的方法。

我正在使用提供称为“个人访问令牌”的令牌的API。 这是否意味着它是持票人或网络令牌?我迷失了这个术语。

它们允许您在其在线工具中使用其API。我正在发出POST请求。

api提供此信息:

发送帖子请求的链接:www.hackerrank.com/restoflink

请求标题:

{
    "Content-Type": "application/json",
    "Accept": "application/json",
    "Content-Length": 190
}

请求正文:

{
    "username": "testing",
    "subject": "test",
    "message": "test",
    "send_email": "true",
    "force": "false",
    "hide_login_credentials": "true",
    "access_token": "Access Token Number"
}

这是我的代码:

function onFormSubmission(e){
  var accessToken ="ACCESS_TOKEN";

  var options = {

    method: "post",  
    headers: {
      "Accept": "application/json",
      "Authorization": "Bearer " + accessToken
    },

    payload: {
      "username": "testing@gmail.com",
      "subject": "test",
      "message": "test",
      "send_email": "true",
      "force": "false",
      "hide_login_credentials": "true",
      "access_token": "ACCESS TOKEN",
      "muteHttpExceptions": "false",
      "contentType": "application/json"
    }


  }

  var response = UrlFetchApp.fetch("linkhere", options);


  Logger.log(response.getResponseCode())
  Logger.log(response.getContentText());  

}

当我在标题中没有持票人令牌的情况下运行此代码时,我收到“404截断的服务器错误”,“无效的访问令牌”“。

这就是我在标题中包含令牌的原因(“我猜它是一个承载令牌”

我从请求中获得的响应是​​200但它没有执行我期望的操作。

我对我必须做出的调整感到困惑,即使我得到了200个响应代码,但是我的应用程序脚本请求无效。

我尝试从POSTMAN和api的测试工具发出请求并且我的所有尝试都有效,这让我相信我在脚本中做错了。

非常感谢任何帮助,this post already helped out a lot

1 个答案:

答案 0 :(得分:0)

他们称其为文档中的永久性OAuth令牌(与您的评论相关联),但他们使用它的方式非常简单,而不像我过去使用的OAuth实现。

您不需要在标头中加入访问令牌,只需将& access_token = [您的令牌]附加到您请求的网址("linkhere")。

示例:

UrlFetchApp.fetch("www.hackerrank.com/x/api/v2/tests?duration=-1&access_token=123", options)