2017-03-05 30 views
-1

我創建測試Web服務,我試圖讓JSON形式此URLHttpUrlRequest與sercret ID

https://query.yahooapis.com/v1/public/yql?q=SELECT%20*%20FROM%20flickr.groups.info%20WHERE%20group_id%3D'22637658%40N00'&format=json&diagnostics=true&callback= 

所有我遇到錯誤400的時候,還雅虎給了我一個祕密ID和關鍵,但我不不知道在哪裏設置它們。 當我che the方法:test http request一切工作正常。

Web服務代碼:

public static void httpRequest(String params, String urlAdress, final CallbackBool callback){ 
     try { 

      URL url = new URL("https://query.yahooapis.com/v1/public/yql?q=SELECT%20*%20FROM%20flickr.groups.info%20WHERE%20group_id%3D'22637658%40N00'&format=json&diagnostics=true&callback="); 
      HttpURLConnection connection = (HttpURLConnection) url.openConnection(); 
      connection.setRequestMethod("POST"); 
      connection.setReadTimeout(10000); 
      connection.setConnectTimeout(15000); 
      connection.setDoOutput(true); 
      Log.i("SHOW CONNECTION:",connection.toString()); 
      getJsonData(connection, new ResponseCallback<String>() { 
      @Override 
      public void onSuccess(String result) { 
       Log.i("SHOW NEW JSON",result); 
       callback.doJob(true); 
      } 

      @Override 
      public void onFailure(String result) { 
       Log.i("FAILLL!","FAILLL"); 
       callback.doJob(false); 
       } 
      }); 
      } catch (MalformedURLException e) { 
       e.printStackTrace(); 
       callback.doJob(false); 
      } catch (IOException e) { 
       e.printStackTrace(); 
       callback.doJob(false); 
      } 
} 

我的結果:出錯連接:400

,我需要把/設置鍵和祕密ID,以及如何?

+0

請參閱雅虎文檔,而不是 – Zoe

+0

我不明白....所以我不需要把sercret id和密鑰放在請求中? :/ –

+0

雅虎如何獲得它?考慮一個帶正常密鑰的門(不是無線,不是代碼,只是普通的密鑰)。您嘗試打開門,但它被鎖定(錯誤400)。你的口袋裏有鑰匙,但你不用它。當門(雅虎)需要你不提供的鑰匙時,門(雅虎)將如何打開? – Zoe

回答

0

任何地方在您的網址,地址:

&api_key=[your key here] 

將其添加到末尾:

url += "&api_key='" + api_key + "'"; 

如果你打開你的瀏覽器中提供的網址,這個結果顯示了:

{"error":{"lang":"en-US","diagnostics":{"publiclyCallable":"true"},"description":"Cannot find required keys in where clause; got 'group_id', expecting required keys: (api_key,group_id)"}} 

它缺少api_key。

+0

'https://query.yahooapis.com/v1/public/yql?q=SELECT%20*%20FROM%20flickr.groups .info%20WHERE%20group_id%3D'22637658%40N00'&format = json&diagnostics = true&callback =「+」&api_key =「+ apiKey' .....我確實喜歡這樣,但仍然無效 –

+0

刪除或提供回調(&callback =),並確保API密鑰是有效的。複製完整鏈接並在瀏覽器中打開以獲取錯誤消息。確保api鍵在那裏,它不是一個變量名稱 – Zoe

+0

我刪除了它沒有工作的回調...但我試圖理解你是什麼意思的「提供回調」......對不起,我的英語不好 –