Google apps script Google Sheets高级Google服务URL缩短器403错误:禁止

Google apps script Google Sheets高级Google服务URL缩短器403错误:禁止,google-apps-script,google-sheets,http-status-code-403,url-shortener,Google Apps Script,Google Sheets,Http Status Code 403,Url Shortener,我正在尝试在Google Sheets中创建一个小应用程序,以便在我的个人Google帐户上对URL进行排序。我正在使用我在这里找到的以下代码: 函数onOpen(){ SpreadsheetApp.getUi() .createMenu(“缩短”) .addItem(“Go!!”,“rangeShort”) .addToUi() } 函数rangeShort(){ var range=SpreadsheetApp.getActiveRange(),data=range.getValues();

我正在尝试在Google Sheets中创建一个小应用程序,以便在我的个人Google帐户上对URL进行排序。我正在使用我在这里找到的以下代码:

函数onOpen(){ SpreadsheetApp.getUi() .createMenu(“缩短”) .addItem(“Go!!”,“rangeShort”) .addToUi() } 函数rangeShort(){ var range=SpreadsheetApp.getActiveRange(),data=range.getValues(); var输出=[]; 对于(var i=0,iLen=data.length;i 我创建了一个新的谷歌云项目,并在项目和谷歌工作表中启用了URL shortener API。问题是,当我尝试运行代码时,我在以下行中得到一个错误:
var url=UrlShortener.url.insert({longUrl:'www.google.com'})

错误403,消息:禁止


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

如果您的项目在2018年3月30日之前使用了url缩短器服务

而不是

www.google.com
使用

参考:

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

从2018年3月30日开始,我们将拒绝对goo.gl URL shortener的支持。有关详细的时间表和备选方案,请参见此

请注意,在链接的博客文章中,我想说清楚:

针对开发者

从2018年5月30日开始,只有已访问URL Shortener的项目 今天之前的API可以创建短链接


如果您的项目在2018年3月30日之前使用了url缩短器服务

而不是

www.google.com
使用

参考:

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

从2018年3月30日开始,我们将拒绝对goo.gl URL shortener的支持。有关详细的时间表和备选方案,请参见此

请注意,在链接的博客文章中,我想说清楚:

针对开发者

从2018年5月30日开始,只有已访问URL Shortener的项目 今天之前的API可以创建短链接


事实证明,正如鲁本所提到的。因此,经过大量研究和测试,以下是解决方案:

第一步 将Google云项目迁移到Firebase或创建新的Firebase项目。参见步骤

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

步骤3 获取(而不是您刚刚创建的应用程序)

步骤4 检查屏幕上的左侧菜单,然后导航至成长->动态链接。您应该会看到您创建的新应用程序以及应用程序顶部的URL。这将成为新缩短URL的基础

步骤5 从Google工作表中在代码生成器中的Google Apps脚本中创建代码。以下是对我有效的代码(我将url传递到此函数中)(此代码基于找到的答案):

补充资料

  • 事实证明,正如鲁本所提到的。因此,经过大量研究和测试,以下是解决方案:

    第一步 将Google云项目迁移到Firebase或创建新的Firebase项目。参见步骤

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

    步骤3 获取(而不是您刚刚创建的应用程序)

    步骤4 检查屏幕上的左侧菜单,然后导航至成长->动态链接。您应该会看到您创建的新应用程序以及应用程序顶部的URL。这将成为新缩短URL的基础

    步骤5 从Google工作表中在代码生成器中的Google Apps脚本中创建代码。以下是对我有效的代码(我将url传递到此函数中)(此代码基于找到的答案):

    补充资料

  • 我可以证明@alutz的答案,只需对他们的代码稍加修改

    如果您有多个自定义参数,请在将输入url分配给长动态链接时使用encodeURIcomponent()

    "longDynamicLink": "[YOUR APPLICATION URL BASE FROM STEP 4]?link=" + encodeURIcomponent(url),
    

    这使我能够为我的电报机器人传递多个参数,如聊天id、文本和解析模式。

    我可以在这里证明@alutz的答案,只需对他们的代码进行少量添加/更正

    如果您有多个自定义参数,请在将输入url分配给长动态链接时使用encodeURIcomponent()

    "longDynamicLink": "[YOUR APPLICATION URL BASE FROM STEP 4]?link=" + encodeURIcomponent(url),
    

    这允许我为我的电报机器人传递多个参数,如聊天id、文本和解析模式。

    更改为
    https://www.google.com
    ,但仍然不起作用。。。我怀疑那是因为他们搬到了消防基地?如果是这样,你知道如何用firebase完成同样的功能吗?我似乎找不到答案b/c太好了new@alutz33你读过关于关闭goo.gl的博文吗?是的,我确实看到了,尝试迁移过来,但似乎还没有对FirebaseChange的本机支持
    https://www.google.com
    ,但仍然不起作用。。。我怀疑那是因为他们搬到了消防基地?如果是这样,你知道如何用firebase完成同样的功能吗?我似乎找不到答案b/c太好了new@alutz33你读过关于关闭goo.gl的博文吗?是的,我确实看到了,正在尝试迁移,但似乎还没有对FireBase的本机支持在长URL上使用http呢?需要吗?firebase的短链接库是https,我没有只检查http。那么在长URL上使用http呢?需要吗?firebase的短链接库是https,我没有只检查http。
    "longDynamicLink": "[YOUR APPLICATION URL BASE FROM STEP 4]?link=" + encodeURIcomponent(url),