与你一起获得 shorturl api

getting shorturl with yourls api

有没有办法使用 javascript/jquery 与 yourls API 一起返回短 url,如果我发送 URL , 如果已经有一个 shorturl 创建它只是 returns 如果没有 ShortURL 它创建一个随机的然后 returns 新创建的一个?

我已经尽我所能阅读了所有 API,但它还不够深入,无法弄清楚,所以我想知道是否有人做过这件事,知道我在哪里可以找到该特定文档。

我想让拥有长 url 的人点击 link 并返回短 url,如果它已经存在,我不想要它再次创建。

如果您知道如何做,我将不胜感激tips/advice。

谢谢你, -理查德

您的问题是针对 YOURLS 后端的。我可以确认,如果您使用的是最新版本的 YOURLS,默认情况下不会有重复的短 URLs。如果您多次提交长 URL,API 仍将 return 相同的短 URL(给您的 Javascript 客户)。

您可以在 YOURLS 服务器的 config.php 中找到该设置:

/** Allow multiple short URLs for a same long URL
 ** Set to true to have only one pair of shortURL/longURL (default YOURLS behavior)
 ** Set to false to allow multiple short URLs pointing to the same long URL (bit.ly behavior) */
define( 'YOURLS_UNIQUE_URLS', true );

因此请确保设置设置为 true


为了帮助您入门,这里有一种使用 Javascript 创建短 URL 的简单方法。我正在为 YOURLS 使用 this third party wrapper

您需要使用 username/password 或您的 signature token:

连接到您的服务器
var api = yourls.connect('http://your.server/yourls-api.php', {
  username: 'admin',
  password: 'qwerty'
});

如果连接上了,可以使用.shorten():

api.shorten('https://yourverylonglink.com/toshorten', function(data) {
  console.log(data.shorturl); // returns http://your.server/1234
});