logo
06.03.2019 10:00
1
Ahoj, do cms potřebuji funkci, která ze zadaného odkazu vytvoří automaticky bit.ly (popř.: něco obdobného)

Nevíte jak na to?

Díky

Co se právě děje na Webtrhu?

06.03.2019 10:06
2
Bitly API Documentation
06.03.2019 10:07
3
a do dokumentace jsi koukal https://dev.bitly.com/get_started.html? V php je pak použití poměrně snadné, viz jedna z mnoha ukázek https://gist.github.com/tcelestino/5119170:

PHP kód:
<?php
//função do curl baseado no script do David Walsh (http://davidwalsh.name/)
function curl_get_result($url) {
  
$ch curl_init($url);
  
$timeout 50;
  
curl_setopt($ch,CURLOPT_URL,$url);
  
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
  
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);
  
$data curl_exec($ch);
  
curl_close($ch);
  return 
$data;
}
function 
shortURL($link) {
    
    
$format "json";
    
$login "your-login";
    
$apiKey "insert_your_apikey";
    
    
$bitly 'https://api-ssl.bitly.com/v3/shorten?login='.$login.'&apiKey='.$apiKey.'&longUrl='.urldecode($link).'&format='.$format;
    
    
$getURL curl_get_result($bitly);
    
    
$json = @json_decode($getURLtrue);
    
    return 
$json['data']['url'];
    
}
echo 
shortURL("http://google.com"); // example
29.03.2019 12:59
4
Včera jsem na to napsal článek Jak na automatické vytváření krátkých URL z Bit.ly
29.03.2019 15:03
5
když už to sem dáváš, měl bych několik drobných připomínek:
- urlencode bys měl použít na všechny segmenty v url, nevíš odkud pochází a třetí strana poté může triken podhodit svoji url
- konstrukce @json_decode() vrací null pokud se něco pokazí, to si ale neověřuješ a můžeš skočit do undefined index chyby
- pokud jako formát příjde něco jiného než json, považuješ to za xml, což může vést k chybám
- i u zpracování xml neošetřuješ chyby a může to vést k erroru
- hodilo by se přidat kontrolu na nejčastější chyby, např. neplatný api key

Chápu, v mé ukázce to také nebylo ošetřeno, ale nepsal jsem jí já a nepředkládal jako hotový kód, ty jsi ale článku věnoval určitou práci, tvoje práce bude mít větší dosah a je škoda, že jsi kód daleko lépe neošetřil.
29.03.2019 16:14
6
On to stejně nikdo nečte. Každopádně děkuji, mrknu na to.
29.03.2019 17:02
7
napsaný to máš pěkně, třeba si to čtenáře někdy najde :)