2011-04-27 2 views
3

J'ai trouvé le code Bitly API ci-dessous sur le site this. J'ai du mal à le faire pour créer et ensuite faire écho à une URL raccourcie Bitly pour une variable appelée $ fullurl. Comment ferais-je cela?Utilisation de l'API Bitly pour raccourcir les URL

EDIT: Aucun code d'erreur n'apparaît, mais aucune URL raccourcie n'est affichée.

EDIT 2:var_dump($response); retourne NULL

EDIT 3: j'ai fait remplacer la connexion de l'API et la clé de ma mienne.

EDIT 4: J'ai trouvé la réponse dans l'un des commentaires du tutoriel original. Ma question était trop basique pour tous les pros de PHP: il me fallait simplement ajouter echo bitly_shorten($fullurl); à la fin.

Merci à l'avance,

John

function bitly_shorten($url) 
{ 
    $query = array(
     "version" => "2.0.1", 
     "longUrl" => $url, 
     "login" => API_LOGIN, // replace with your login 
     "apiKey" => API_KEY // replace with your api key 
    ); 

    $query = http_build_query($query); 

    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL, "http://api.bit.ly/shorten?".$query); 
    curl_setopt($ch, CURLOPT_HEADER, 0); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 

    $response = curl_exec($ch); 
    curl_close($ch); 

    $response = json_decode($response); 

    if($response->errorCode == 0 && $response->statusCode == "OK") { 
     return $response->results->{$url}->shortUrl; 
    } else { 
     return null; 
    } 
} 
+0

ce que le code d'erreur? – ariefbayu

+0

À des fins de débogage, vous devriez faire écho à '$ response-> errorCode' et' $ response-> statusCode'. Cela devrait vous donner une idée de ce qui s'est mal passé. –

+0

'var_dump ($ response)' pour le débogage – Ibu

Répondre

0

J'ai trouvé la réponse dans l'un des commentaires du tutoriel original. Ma question était trop basique pour tous les pros de PHP: il me fallait simplement ajouter echo bitly_shorten($fullurl); à la fin.

0

Il semble que bit.ly a mis à jour leur api, s'il vous plaît visiter

http://code.google.com/p/bitly-api/wiki/ApiDocumentation#Authentication_and_Shared_Parameters

pour api ..

L'URL semble être quelque chose comme ça, http://api.bitly.com/v3/shorten?.....

La nouvelle version est 3 ils ont déclaré et dans votre code son 2.0.1

Chaque fois que vous utilisez un api d'un service en ligne de son mieux pour obtenir à partir de leur site au lieu d'obtenir que de tout site ou blog tiers ..

+0

Ouais, j'ai vu ça, et je devrais probablement l'utiliser. Mais cela fonctionne avec l'ancienne URL Bitly. – John

+0

:) erreur simple, c'est pourquoi vous devriez poster exactement tout ce que vous avez fait et non un code de pièce .. Si vous auriez fait cela, vous pourriez avoir obtenu cette réponse de tellement plus tôt .. :) – Vijay

1

Modifier à:

function bitly_shorten($url){ 
    $query = array(
    "version" => "2.0.1", 
    "longUrl" => $url, 
    "login" => API_LOGIN, // replace with your login 
    "apiKey" => API_KEY // replace with your api key 
); 

    $query = http_build_query($query); 

    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL, "http://api.bitly.com/v3/shorten?".$query); 
    curl_setopt($ch, CURLOPT_HEADER, 0); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 

    $response = curl_exec($ch); 
    curl_close($ch); 

    $response = json_decode($response); 
    if($response->status_txt == "OK") {   
    return $response->data->url; 
    } else { 
    return null; 
    } 
} 
Questions connexes