2015-03-23 4 views
7

По какой-то причине мой скрипт перестает работать сегодня. Когда я смотрю в панели управления API, у меня все еще осталось 100% от использования. Есть идеи? Они изменили путь auth?URL-адрес сокращенного URL-адреса Goo.gl (php/curl)

function url_small($url) 
    { 
     //This is the URL you want to shorten 
     $longUrl = $url; 
     $apiKey = '#####HIDDEN######'; 
     //Get API key from : http://code.google.com/apis/console/ 

     $postData = array('longUrl' => $longUrl, 'key' => $apiKey); 
     $jsonData = json_encode($postData); 

     $curlObj = curl_init(); 

     curl_setopt($curlObj, CURLOPT_URL, 'https://www.googleapis.com/urlshortener/v1/url'); 
     curl_setopt($curlObj, CURLOPT_RETURNTRANSFER, 1); 
     curl_setopt($curlObj, CURLOPT_SSL_VERIFYPEER, 0); 
     curl_setopt($curlObj, CURLOPT_HEADER, 0); 
     curl_setopt($curlObj, CURLOPT_HTTPHEADER, array('Content-type:application/json')); 
     curl_setopt($curlObj, CURLOPT_POST, 1); 
     curl_setopt($curlObj, CURLOPT_POSTFIELDS, $jsonData); 

     $response = curl_exec($curlObj); 

     //change the response json string to object 
     $json = json_decode($response); 
     curl_close($curlObj); 

     return $json->id; 
    } 

Response

stdClass Object 
(
    [error] => stdClass Object 
     (
      [errors] => Array 
       (
        [0] => stdClass Object 
         (
          [domain] => usageLimits 
          [reason] => dailyLimitExceededUnreg 
          [message] => Daily Limit for Unauthenticated Use Exceeded. Continued use requires signup. 
          [extendedHelp] => https://code.google.com/apis/console 
         ) 

       ) 

      [code] => 403 
      [message] => Daily Limit for Unauthenticated Use Exceeded. Continued use requires signup. 
     ) 

) 
+0

Говорит прямо в сообщении об ошибке: ** Дневной лимит для анонимных использования превышено. Продолжение использования требует регистрации. ** Думаю, вам нужно зарегистрироваться, а? –

+0

@RobertHarvey Да, это то, что меня смущает. Он передает ключ api, который должен быть аутентификацией, а использование api на сегодня равно 0. – RichardW11

+0

Проверьте [здесь] (https://www.google.com/search?q=daily%20limit%20for%20unauthenticated%20use % 20exceeded.% 20continued% 20use% 20requires% 20signup) и отчитаться. –

ответ

27

Так получается, эту старую функцию, которая будет отображаться в нескольких веб-сайтов теперь нуждается ключ апи, который будет отображаться в разделе URL также для Google, чтобы зарегистрировать запрос к вашей учетной записи ,

curl_setopt($curlObj, CURLOPT_URL, 'https://www.googleapis.com/urlshortener/v1/url'); 

перешли на этот

curl_setopt($curlObj, CURLOPT_URL, 'https://www.googleapis.com/urlshortener/v1/url?key='.$apiKey); 
+4

Спасибо - не мог решить это без вашего сообщения! –

+0

Удивительный - здесь же я ударился головой о стену, пока не нашел ваш пост, Привет! – CoalaWeb

+0

Спасли мою ночь! Tnx :) – tasmaniski