首页 > 解决方案 > 尝试将标签添加到 Bitly API 查询字符串

问题描述

我正在创建一个电子表格来帮助我快速缩短广告活动的 UTM 参数。我希望能够动态地将标签添加到查询字符串中,以便在 Bitly 中创建它们后更容易组织它们。这是我在 Google 表格中尝试过的。

=importData(concatenate("https://api-ssl.bitly.com/v3/shorten?tags[]=test&tags[]=new&longUrl=",ENCODEURL(J10),"&access_token=",$C$5,"&format=txt"))

它踢回一个 URL 并完美地工作,除了它不添加标签。只是不确定我错过了什么。

复制链接,只需添加一点 API 密钥: https ://docs.google.com/spreadsheets/d/1OB4CaA-P-dXpRsDXjdTzLkNKHWGPjkzWOxo3n-Iv6ao/edit?usp=sharing

为了进一步解释我的最终结果……您会在 URL 中注意到我的“标签”参数。我希望将其推送到 Bitly API 并将这些标签创建/添加到新创建的 URL。这将使我能够更好地过滤它们以供使用。

标签: restgoogle-sheetsquery-stringbitly

解决方案


即使文档说您可以,但似乎无法使用标签创建链接。甚至 Bitly UI 也不支持它。

可以进行更新并添加标签。我创建了位链接,然后在我再次请求使用标签更新它之后。更新 API:补丁:https://api-ssl.bitly.com/v4/bitlinks/{bitlink.id}

这就是我所做的:

 fetch("https://api-ssl.bitly.com/v4/shorten", {
            method: "POST",
            headers: {
                'Content-Type': 'application/json',
                'Authorization': 'Bearer ***'
            },
            body: JSON.stringify(data)
        }).then(response => response.json())
            .then(data => {
                let updateData = {
                    "tags": [
                        "tag1",
                        "tag2"
                    ]
                };

                fetch("https://api-ssl.bitly.com/v4/bitlinks/" + encodeURIComponent(data.id), {
                    method: "PATCH",
                    headers: {
                        'Content-Type': 'application/json',
                        'Authorization': '***'
                    },
                    body: JSON.stringify(updateData)
                })

            });
    }

推荐阅读