Получить короткий с твоим API

Есть ли способ использовать javascript/jquery для получения короткого URL-адреса, возвращаемого с помощью API yourls, где, если я отправляю URL-адрес, если уже создан shorturl, он просто возвращает ShortURL, если нет, создает случайный, а затем возвращает это вновь созданный?

Я прочитал все API, которые могу, но он недостаточно глубок, чтобы понять это, поэтому мне интересно, знает ли кто-нибудь, кто сделал это, где я могу найти эту конкретную документацию.

Я хочу, чтобы люди с длинным URL-адресом нажимали на ссылку и возвращали короткий URL-адрес, который, если он уже существует, я не хочу, чтобы он снова создавался.

Буду признателен за ваши советы / советы, если у вас есть ноу-хау.

Спасибо, Ричард

1 ответ

Решение

Ваш вопрос скорее направлен на бэкэнд YOURLS. Я могу подтвердить, что если вы используете последнюю версию YOURLS, по умолчанию не будет дублированных коротких URL-адресов. Если вы отправляете длинный URL более одного раза, API все равно будет возвращать один и тот же короткий URL (вашему клиенту Javascript).

Вы можете найти эту настройку в config.php на вашем YOURLS-сервере:

/** 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 ,


Чтобы помочь вам начать, вот простой способ создания коротких URL-адресов с использованием Javascript. Я использую эту стороннюю оболочку для YOURLS.

Вам нужно будет подключиться к вашему серверу с помощью имени пользователя / пароля или, в качестве альтернативы, вашего токена подписи:

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
});
Другие вопросы по тегам