我尝试使用 GAS(Google-apps-script)发送 Zoom API 更新用户设置的补丁。 但是,出现以下错误。
已确认该API在Postman中运行没有问题。 OAuth 令牌本身似乎没有问题。
给出以下代码:
function test_updateUserSetting(){
let userEmail = "Zoom User Email"
let url = 'https://api.zoom.us/v2/users/' + userEmail + '/settings'
const token = getToken() // get OAuth token
Logger.log(token)
let raw = JSON.stringify({
"feature": {
"webinar": true,
"webinar_capacity": 500
}
});
let requestOptions = {
'method' : 'PATCH',
'contentType': 'application/json',
'headers': {'Authorization' : 'Bearer ' + token},
'payload': raw
};
let response = UrlFetchApp.fetch(url, requestOptions);
let user = JSON.parse(response.getContentText());
console.log(user)
}
出现的错误消息:
SyntaxError: Unexpected end of JSON input
需要修改哪部分代码才能使其正常工作?
我正在尝试 Zoom API 的更新用户设置 API。 该 API 的相关参考 URL 如下: https://developers.zoom.us/docs/api/rest/reference/zoom-api/methods/#operation/userSettingsUpdate
我通过修改代码解决了这个问题,如下。
错误原因是API传输的返回值返回为空。
为了解决这个问题,修改了代码,如果响应码为204,则认为API传输成功。
function test_updateUserSetting(){
let userEmail = "Zoom User Email"
let url = 'https://api.zoom.us/v2/users/' + userEmail + '/settings'
const token = getToken() // get OAuth token
Logger.log(token)
let raw = JSON.stringify({
"feature": {
"webinar": true,
"webinar_capacity": 500
}
});
let requestOptions = {
'method' : 'PATCH',
'contentType': 'application/json',
'headers': {'Authorization' : 'Bearer ' + token},
'payload': raw
};
try{
let response = UrlFetchApp.fetch(url, requestOptions);
if(response.getResponseCode() === 204){
console.log("update successed")
return true
}else{
console.log("update failed")
return false
}
} catch(e){
console.log(e)
return false
}
}