使用 jQuery Ajax Post 的 Firebase URL 缩短器?

Posted

技术标签:

【中文标题】使用 jQuery Ajax Post 的 Firebase URL 缩短器?【英文标题】:Firebase URL Shortener with jQuery Ajax Post? 【发布时间】:2017-11-21 08:38:02 【问题描述】:

我是 Firebase 的新手。我正在尝试使用动态链接。这就是我目前所拥有的......

    var longUrl = 'https://example.com/' + window.location.hash;
    var APIkey  = 'My Web API Key Here';
    var url     = 'https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=' + APIkey;

    var data = 
        "longDynamicLink": "https://abc123.app.goo.gl/?link=" + longUrl,
        "suffix": 
            "option": "SHORT"
        
    ;

    var request = $.ajax(
        url: url,
        dataType: 'json',
        type: 'post',
        contentType: 'application/json',
        data: JSON.stringify(data),
        processData: false,
        success: function( data, textStatus, jQxhr )
            console.log(data);
            console.log(textStatus);
            console.log(jQxhr);
        ,
        error: function( jqXhr, textStatus, errorThrown )
            console.log( errorThrown );
        
    );

我收到 400 错误...

code:400
message:"Your project has not configured Dynamic Links. [https://firebase.google.com/docs/dynamic-links/rest#before_you_begin]"
status:"INVALID_ARGUMENT"

未配置动态链接是什么意思? “abc123”只是一个占位符吗?

【问题讨论】:

嘿,你解决了吗?面临同样的问题 【参考方案1】:

遇到了同样的问题——这就是我从 firebase 团队得到的答案:

请注意,要查看您的动态链接域,您必须先添加一个应用。如果您使用 Firebase 动态链接作为 Google Shortener 的替代品,您可以为您的项目创建一个示例应用程序(虚拟应用程序)以继续创建 Firebase 动态链接。只需输入 ios 捆绑包 ID 或 android 包名称的虚拟值(例如:“my.dummy.app”)即可继续。

然后您将输入您将从中获得的 id(例如 https://dedfgu.app.goo.gl) 而不是占位符 (abc123.app.goo.gl)。

祝你好运!

【讨论】:

【参考方案2】:

abc123 是一个占位符。您应该提供您的 Firebase 动态链接域而不是 abc123

例如,请参阅此处https://firebase.google.com/docs/dynamic-links/ios/create 描述什么是项目的动态链接域。域看起来像 app_code.app.goo.gl,其中 app_code 对于每个 Firebase 项目都是唯一的。

【讨论】:

我正在使用 REST 文档,它没有提到 abc123 是占位符的任何地方。我有点假设它是,但认为我只是谷歌在谷歌上。 firebase.google.com/docs/dynamic-links/rest 我没有在我的控制面板中看到动态链接部分。它是另一个区域的子部分吗? 好的。我在控制面板的“增长”下找到了菜单项,但我看到的只是 Android 或 iOS 的选项。我没有看到任何关于 Web 的内容。也许我误解了这个功能。我想在我的网络应用程序中提供可共享的链接来替换我现在拥有的长链接。 app_code 对于所有平台都是相同的,您是否尝试过从 Firebase 控制台中的 iOS 或 Android 子页面获取 app_code? Firebase 的主要目标是帮助移动应用程序开发人员,这就是 www 文档可能不太清楚的原因。

以上是关于使用 jQuery Ajax Post 的 Firebase URL 缩短器?的主要内容,如果未能解决你的问题,请参考以下文章

jquery $.ajax $.get $.post的区别?

jquery $.ajax $.get $.post的区别?

jquery $.ajax $.get $.post的区别是啥噢?

在使用 jquery .ajax() 重定向的 POST 之后获取实际 URL

Jquery AJAX 全局超时(整个应用程序)我正在使用 $.get 和 $.post(不能使用 $.ajax)

jquery ajax'post'调用