3

このサイトで、以下の Bitly API コードを見つけました。$fullurl という変数の Bitly 短縮 URL を作成してエコーするのに苦労しています。どうすればいいですか?

編集:エラー コードは表示されず、少し短縮された URL は表示されません。

編集 2: var_dump($response); NULL を返します

編集 3: API ログインとキーを私のものに置き換えました。

編集 4:元のチュートリアルのコメントの 1 つで答えを見つけました。私の質問は、PHP の専門家にとっては基本的すぎるものでしたecho bitly_shorten($fullurl);。最後に追加する必要がありました。

前もって感謝します、

ジョン

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;
    }
}
4

3 に答える 3

1

次のように変更します。

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;
  }
}
于 2012-05-17T03:06:00.320 に答える
0

bit.ly が API を更新したようです。アクセスしてください。

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

APIの..

URLはこんな感じのようですが、http://api.bitly.com/v3/shorten?.....

彼らが述べた新しいバージョンは3で、コードでは2.0.1です

オンライン サービスの API を使用しているときはいつでも、サード パーティのサイトやブログから取得するのではなく、サイトから取得することをお勧めします。

于 2011-04-27T05:03:37.227 に答える
0

元のチュートリアルのコメントの 1 つで答えを見つけました。私の質問は、PHP の専門家にとっては基本的すぎるものでしたecho bitly_shorten($fullurl);。最後に追加する必要がありました。

于 2011-04-27T05:03:45.260 に答える