YOURLS-Expiry icon indicating copy to clipboard operation
YOURLS-Expiry copied to clipboard

Expiry in the API

Open bpmartin20 opened this issue 1 year ago • 2 comments

Allegedly there's documentation on the API, but I haven't been able to find it. Please direct me if this has been answered somewhere, and accept my apologies.

Otherwise, if I'm using a programmatic interface to shorten URLs instead of the web interface, can I specify the expiration there?

In my case, I'm using Perl's WWW::Shorten::Yourls. The call there is: $ShortURL = $YourLS->shorten(longurl=>"https:/..."); Can I do something like: $ShortURL = $YourLS->shorten(longurl=>"https:/...", age=>35, agemod=>'days'); If so, what are the keys for the various parameters.

Again, my apologies if I missed this somewhere. I read through the code, but nothing stood out to me as a hook into the API.

bpmartin20 avatar Oct 04 '23 02:10 bpmartin20

I got the API issue too. I believe it's a bug. I checked the POST request from the UI, which sends: yourls-api.php?signature=sample&action=shorturl&format=json&expiry=clock&age=1&ageMod=day&url=https://sample So yes, it seems like it works with &age=1&ageMod=day. Then I found this pull request #42. I edited that line, and it worked fine in my case.

bee10301 avatar Nov 30 '23 03:11 bee10301

Hello,

I tried https://xyz.com/yourls-api.php?signature=mysign&action=shorturl&format=json&expiry=clock&age=1&ageMod=day&url=test123.de

and I got json file without expiry:

{ "status": "success", "code": "", "message": "test123.de zur Datenbank hinzugefügt", "errorCode": "", "statusCode": 200, "url": { "keyword": "8is", "url": "test123.de", "title": "test123.de", "date": "2024-05-16 08:29:09", "ip": "x.x.x.x" }, "title": "test123.de", "shorturl": "https://xyz.com/8is" }

and the list of expire is empty :-(

nyunity avatar May 16 '24 08:05 nyunity