Google表格高级Google服务URL403错误:Forbidden

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (139)

我正在尝试在Google工作表中创建一个小应用程序,以便在我的个人Google帐户中对网址进行排序。我使用下面的代码,我在这里找到:Google表格函数来获取缩短的URL(来自Bit.ly或goo.gl等)

function onOpen() {
  SpreadsheetApp.getUi()
    .createMenu("Shorten")
    .addItem("Go !!","rangeShort")
    .addToUi()  
}

function rangeShort() {
  var range = SpreadsheetApp.getActiveRange(), data = range.getValues();
  var output = [];
  for(var i = 0, iLen = data.length; i < iLen; i++) {
    //var url = UrlShortener.Url.insert({longUrl: data[i][0]});
    var url = UrlShortener.Url.insert({longUrl: 'www.google.com'});
    output.push([url.id]);
  }
  range.offset(0,1).setValues(output);
}

我创建了一个新的Google Cloud Project,并在项目和Google表格中启用了URL缩短API。问题是,当我尝试运行代码时,我遇到了错误:var url = UrlShortener.Url.insert({longUrl: 'www.google.com'});

error 403, message:forbidden

当我尝试执行rangeShort()函数时。我不知道如何解决这个问题。任何想法将非常感谢!谢谢!

提问于
用户回答回答于

如果在2017年3月30日之前在您的项目中使用了网址缩短服务

代替

www.google.com

使用

https://www.google.com

参考:https://developers.google.com/url-shortener/v1/url/insert

但如果您的项目是在2018年3月30日或之后创建的

来自https://developers.google.com/url-shortener/v1/

从2018年3月30日开始,我们将拒绝支持goo.gl URL缩短。有关详细的时间表和备选方案,请参阅此博客文章。

请注意,请从链接的博客文章中注明:

对于开发者 从2018年5月30日开始,只有在今天之前访问过URL Shortener API的项目才能创建短链接。

用户回答回答于

谷歌已经摆脱了他们的URL缩短。经过大量的研究和测试,这里是解决方案:

步骤1

将Google Cloud Project迁移到Firebase或创建新的Firebase项目。请参阅此处的步骤

第2步

创建一个虚拟项目,以便为缩短创建基本URL。

第3步

从新的Firebase项目(而不是您刚刚创建的应用程序)获取Web API密钥

第4步

检查屏幕左侧菜单,然后导航到Grow-> Dynamic Links。您应该会看到您创建的新应用程序以及应用程序顶部的URL。这将成为新缩短的URL的基础。

第5步

在Google表格中的代码生成器中的Google Apps脚本中创建代码。这是适合我的代码(我将url传递给了这个函数)(这段代码基于这里的答案):

function api_call(url){
  var req='https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=[YOUR PROJECT WEB API KEY FROM STEP 3]';
  var formData = {
    "longDynamicLink": "[YOUR APPLICATION URL BASE FROM STEP 4]?link=" + url,
    "suffix" : {
      "option" : "UNGUESSABLE" 
    }
  };
  var options = {
    'method': 'post',
    'contentType': 'application/json',
    'payload': JSON.stringify(formData)

  };

  var response = UrlFetchApp.fetch(req, options);
  var res=JSON.parse(response);

  return res.shortLink;
}

所属标签

可能回答问题的人

  • 人生的旅途

    10 粉丝484 提问6 回答
  • 无聊至极

    4 粉丝504 提问6 回答
  • 骑牛看晨曦

    5 粉丝522 提问5 回答
  • Richel

    8 粉丝0 提问4 回答

扫码关注云+社区

领取腾讯云代金券