使用Google App Script发布到Bitly api返回403 请参阅:

问题描述

嘿,Stackoverflow伙伴们!

我一直在尝试使用bit.ly的api为我的Google表格编写自动化程序,以缩短我的大量链接。目前,我正处于基本阶段,并尝试记录api返回给我的内容。你们可以帮忙看看代码有什么问题吗?我希望200可以退还给我,但它仍然会禁止我返回403。

var form = 
     {"long_url": "https://dev.bitly.com","domain": "bit.ly","group_guid": "MY GROUP ID" };  
var option =  {'header':'Authorization: Bearer{MY TOKEN}','method' : 'post','contentType': 'application/json','payload' : JSON.stringify(form)
       };
 var response = UrlFetchApp.fetch('https://api-ssl.bitly.com/v4/shorten',option);
Logger.log (response);
}

P.S。我试图通过添加标题(成功)和自定义链接(在bit.ly/之后短半//)来进一步扩展代码。第二部分继续向我返回404。还是应该改用Post / custom_bitlinks?

这是我当前的代码:

function bitlyori (i,title){
var form = {
    "group_guid": "MINE","long_url": i,"title" : title
    }; 
const MY_TOKEN = "MINE";
const option = {
  headers: { Authorization: `Bearer ${MY_TOKEN}` },method: 'post',contentType: 'application/json',payload: JSON.stringify(form),};
var result = UrlFetchApp.fetch('https://api-ssl.bitly.com/v4/bitlinks',option);
return (JSON.parse(result.getContentText()));
}

function bitly(url,title,custom) {
var temp = bitlyori(url,title);
var form_2 = { 
  "custom_bitlinks": [temp],};
const MY_TOKEN = "MINE";
const option_2 = {
  headers: { Authorization: `Bearer ${MY_TOKEN}` },method: 'patch',payload: form_2}; 
var temp_link = 'https://api-ssl.bitly.com/v4/bitlinks/'+ JSON.stringify(temp)["id"];
var result_2 = UrlFetchApp.fetch(temp_link,option_2);
return (JSON.parse(result_2.getContentText()));
}

解决方法

标题应该是在"headers"内具有键options的对象:

const MY_TOKEN = "dfjkgsa";
const option = {
  headers: { Authorization: `Bearer ${MY_TOKEN}` },method: 'post',contentType: 'application/json',payload: JSON.stringify(form),};

请参阅:

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...