用yourls api填补空白

时间:2016-10-28 21:33:46

标签: javascript jquery api yourls

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

我已经阅读了所有可以使用的API,但它并不足以明白这一点,所以我想知道是否有人知道我在哪里可以找到该特定文档。

我想允许有长网址的人点击链接并返回一个简短的网址,如果它已经存在,我不想再创建它。

如果您有专业知识,我将非常感谢您的提示/建议。

谢天谢地, -Richard

1 个答案:

答案 0 :(得分:1)

您的问题主要针对YOURLS后端。我可以确认,如果您使用的是最新版本的YOURLS,默认情况下不会有重复的短网址。如果您不止一次提交长URL,API仍会返回相同的短网址(到您的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创建短网址的简便方法。我正在使用this third party wrapper作为YOURLS。

您需要使用用户名/密码或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
});