Google Apps脚本:OAuth2例外:属性提供的值无效:标头:toType

时间:2018-06-08 17:16:46

标签: google-apps-script oauth-2.0 google-api

我试图通过oauth2访问一些谷歌apis。我已经设置了一切,它给了我一个带有刷新令牌,令牌ID和到期时间等的令牌,但在尝试使用它时,我得到“异常:属性提供无效值:Header:toType”作为错误。

我尝试将标题更改为标题,但这只会导致“需要登录”错误。

以下是代码示例:

var access_token = "XXXXXXX";
var config={"method":"GET",
            "muteHttpExceptions":true,
            "contentType":"application/json",
            "headers":{
            "Authorization":"Bearer "+access_token
            },
            "responseType":"json"};
var resp=UrlFetchApp.fetch(url, config).getContentText();

我有什么遗失的吗?

2 个答案:

答案 0 :(得分:0)

使用官方OAuth2 for Apps Script

  

修改访问令牌有效内容

     

某些OAuth提供程序(例如Smartsheet API)要求您向访问令牌添加哈希   请求有效载荷。 setTokenPayloadHandler方法允许您传递   在一个函数中修改访问令牌请求的有效负载之前   请求被发送到令牌端点:

 // Set the handler for modifying the access token request payload:
 .setTokenPayloadHandler(myTokenHandler)

答案 1 :(得分:0)

原来,urlfetchapp正在将原型功能与对象一起拉出来。在我的例子中,toType是一个Object.prototype函数,并且使用getRequest()进行uppon检查,ebtire函数与对象头一起被拉出。