是否有一种方法使用javascript/jquery与yourls API返回一个短url,如果我发送一个url,如果已经有一个短url创建它只是返回shorturl如果没有,它创建一个随机的,然后返回新创建的一个?
我已经阅读了所有的API,我可以,但它是不够深入,弄清楚,所以我想知道如果有人这样做,我知道在哪里可以找到具体的文档。
我想让人们有一个长url点击链接,并得到一个短url返回,如果它已经存在,我不希望它再次创建。
如果你知道怎么做,我会很感激你的建议。谢谢,理查德。
您的问题是针对YOURLS后端。我可以确认,如果您使用的是最新版本的YOURLS,默认情况下不会有重复的短url。如果你多次提交长URL, API仍然会返回相同的短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的简单方法。我正在使用这个第三方包装器。
您需要使用用户名/密码或您的签名令牌连接到服务器:
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
});