2016-10-28 4 views
0

javascript/jqueryを使用して短いURLをyourls APIで返す方法はありますか?URLを送信すると、すでにショートカラーが作成されていればShortURLを返すだけですランダムなものを作成し、新しく作成したものを返しますか?yourls APIでshorturlを取得する

私は可能なすべてのAPIを読んだことがありますが、それを理解するには十分なものではありませんので、この特定のドキュメントがどこにあるのか知っている人はいませんか?

長いURLを持つユーザーがリンクをクリックして短いURLを取得できるようにしたいと思います。既に存在する場合は、再度作成する必要はありません。

ノウハウがあれば、あなたのヒント/アドバイスをお寄せいただきありがとうございます。

は親切にありがとう、 -Richard

答えて

1

ご質問はむしろ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を作成する簡単な方法です。 YOURLSにthis third party wrapperを使用しています。

ユーザー名/パスワードまたは代わりに、あなたの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 
}); 
+0

を存在していなければ、それを作成し、存在する場合はそれを返します。私はそのラッパーでそれを見ていない、その方法を説明したので、それがあなたがそれを知っているかどうかを尋ねる。あなたの答えをありがとう。 :) –

+0

私はそれを得た。したがって、このコードでは: 'api.shorten(' https://yourverylonglink.com/toshorten '、function(data){ console.log(data.shorturl); // http://your.server/1234を返します。 }); ' 私はこのようなvarを作成するだけです: var Short1 = api.shorten( 'https://yourverylonglink.com/toshorten'、function(data){ console.log(data.shorturl); // return http://your.server/1234 }); –

+0

もちろん、長いurlを引数にとり、短いurlを 'return'するコードで関数を作成することもできます。 –

関連する問題