2014-07-26 2 views
0

Google 퓨전 테이블 API를 사용하여 퓨전 테이블에서 행을 가져옵니다. (해당 행을 업데이트하려고하지만 연결이 올바르게 될 때까지 간단하게 유지하려고합니다.) 표는 설정에서 미등록 및 다운로드 가능으로 설정됩니다. 요청을 브라우저에서로드 할 때 잘 작동하기 때문에 API 키를 바로 가지고 있지만 코드를 실행할 때 Google에서 잘못된 요청 응답을받습니다. 아래는 내가 사용하고있는 코드입니다.Google 퓨전 테이블 API 결과가 잘못된 요청

참고 : 현재 요청을 인증하기 위해 Oauth를 사용하고 있지 않습니다. GET 문자열과 SQL 문을 사용하여 데이터를 조작하는 경우에는 필요하지 않습니다. 아래의 키는 모든 소스에서 작동해야하지만 보안을 위해 서버 키로 전환하려고합니다.

$sellerlist = Mage::getModel('marketplace/userprofile')->getCollection()->addFieldToFilter('partnerstatus',array('eq'=>'Seller'))->addFieldToFilter('wantpartner',array('eq'=>1)); 
foreach($sellerlist as $seller){ 
      $profileurl = Mage::getUrl()."marketplace/seller/profile/".$seller->getProfileurl(); 
      if($seller->getshoptitle()!=''){ $shoptitle = $seller->getshoptitle();} 
      else { $shoptitle = $seller->getprofileurl(); } 
      $logo=$seller->getlogopic()==''?"noimage.png":$seller->getlogopic(); 
      $logo=Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA).'avatar/'.$logo; 
      $latitude = $seller->getlatitude(); 
      $longitude = $seller->getlongitude(); 
      if ($latitude !== ''){ 


       $req = curl_init(); 
       curl_setopt($req, CURLOPT_URL, urlencode("https://www.googleapis.com/fusiontables/v1/query?sql=SELECT ROWID FROM 12rLP9qGYclz-kkDa_y_NJ1Meh81EZK_5o7yp38sk WHERE shoptitle='".$shoptitle."'&key=AIzaSyAqt5biL_4nsZ25ZZC1RaeClssOIhXkn_k")); 
       curl_setopt($req, CURLOPT_RETURNTRANSFER, true); 
       curl_setopt($req, CURLOPT_HEADER, 0); 
       curl_setopt($req, CURLOPT_FRESH_CONNECT, true); 


       $responseJSON = curl_exec($req); 
       $resp = json_decode($responseJSON, true); 
       curl_close($req); 

       print_r($responseJSON); 


      } 

} 

답변

0

가 전체 URL을 인코딩하지 마십시오, 당신은 단지 (그것을 위해 좋은 선택이 될 것입니다 http_build_query)를 GET-매개 변수를 인코딩해야합니다 :

curl_setopt($req, 
     CURLOPT_URL, 
     'https://www.googleapis.com/fusiontables/v1/query?' 
      .http_build_query(array('sql'=> 
            "SELECT ROWID 
             FROM 12rLP9qGYclz-kkDa_y_NJ1Meh81EZK_5o7yp38sk 
             WHERE shoptitle='{$shoptitle}'", 
            'key'=>'AIzaSyAqt5biL_4nsZ25ZZC1RaeClssOIhXkn_k'))); 
+0

이 고정 그! 여기에서 사용하는 API 키는 공개 키 (제한 없음)입니다. - 내 응용 프로그램에 다른 키를 사용합니다. 감사! – KRay