【问题标题】:Posting to Bitly api with Google App Script returns 403使用 Google App Script 发布到 Bitly api 返回 403
【发布时间】:2020-09-14 11:17:38
【问题描述】:

嘿 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);
}

附:我尝试通过添加标题(成功)和自定义链接(短半 // bit.ly/ 之后)来进一步扩展代码。第二部分继续返回 404。或者我应该使用 Post/custom_bitlinks 代替吗?

这是我当前的代码:

function bitlyori (i, title){
var form = {
    "group_guid": "MINE",  
    "domain": "bit.ly",  
    "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()));
}

【问题讨论】:

    标签: google-apps-script google-sheets http-status-code-403 urlfetch bit.ly


    【解决方案1】:

    Headers 应该是一个在 options 内带有键 "headers" 的对象:

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

    见:

    【讨论】:

    • 如果你不介意,你能帮我看看我新编辑的代码吗?
    • @sunbshine 有新问题吗?如果是这样,请提出一个新问题。这对每个人都更好。
    • 感谢您的建议!这是链接stackoverflow.com/q/63899399/14187135?sem=2
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-04
    • 2015-01-19
    • 1970-01-01
    • 2013-10-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多