2017-10-14 3 views
0

ほとんどすべてのドキュメントで使用されているJava言語を関連付けるのが難しいので、私はYoutubeのSearchByKeywordを実装するのに苦労しています。私はYoutubeでキーワードによる検索を実装する

https://github.com/youtube/api-samples/blob/master/java/src/main/java/com/google/api/services/samples/youtube/cmdline/data/Search.java

は私が欲しいものに最も関連していると思いますが、私はそれがすべてで動作させることはできません。私の混乱:

どのように私はこの検索クラスに従事しますか?たとえば、ボタンをクリックすると?私は、私が検索したいキーワードを入れることができるコンストラクタがどこにあるのか不明です。
たとえば:コード

String queryTerm = getInputQuery(); 

のライン90でプライベート静的な文字列getInputQuery(
を呼び出しますが)のIOException {

String inputQuery = ""; 

    System.out.print("Please enter a search term: "); 
    BufferedReader bReader = new BufferedReader(new InputStreamReader(System.in)); 
    inputQuery = bReader.readLine(); 

    if (inputQuery.length() < 1) { 
     // Use the string "YouTube Developers Live" as a default. 
     inputQuery = "YouTube Developers Live"; 
    } 
    return inputQuery; 
} 

を投げる私はEditText.getText().toString()と検索に係合を通じて、私のキーワードを取得したいですButtonをクリックしてください。それは私にArrayAdapterを見ることができる結果のリストを私に戻すでしょう。

どうすればよいですか?助けてくれてありがとうございました。私は何の結果も得られず、数日間のガイダンスを探していましたが、文書がありましたが、それらをAndroidに翻訳することはできません。助けてください。

+0

こんにちは、私はユーチューブAPIを使用してクエリコードを持っている、それはあなたがやろうとしている方法ではありませんが、あなたが興味を持っている場合、私は共有することができます。 –

+0

助けてください!確かに私はできることを学ぶしようとします –

答えて

1

まず、あなたのendPoint = https://www.googleapis.com/youtube/v3/search?part=snippet&q=YOURKEYFORSEARCH&type=video&key=YOURAPIKEYです。

private void yourQueryToYoutubeAPI(final String keyWord) {

final String yourApiKEY = "yourApiKey"; 
    final String endPoint = "https://www.googleapis.com/youtube/v3/search?part=snippet&q="+ keyWord+"&type=video&key=" + yourApiKEY; 
    new Thread(new Runnable() { 
     @Override 
     public void run() { 

      Object jsonResponse = null; 

      try { 

       HttpClient httpclient = new DefaultHttpClient(); 
       HttpGet request = new HttpGet(); 

       request.setURI(new URI(endPoint)); 
       HttpResponse response = httpclient.execute(request); 
       InputStream content = response.getEntity().getContent(); 
       Reader reader = new InputStreamReader(content); 
       Gson gson = new Gson(); 
       jsonResponse = gson.fromJson(reader, HashMap.class); 

       //jsonRespose contains your query result you can see result with log for example 
       Log.i("jsonResponse", "jsonResponse: " + jsonResponse.toString()); 

       content.close(); 


      } catch (Exception e) { 
       e.printStackTrace(); 

      } 
     } 
    }).start(); 
}` 

これはテストやより多くのテストを行い、あなたのAPIを使用する方法の早期のアイデアを与えるだろう。あなたはキャンプの詳細情報を見つけることができ

はここに検索可能です:https://developers.google.com/youtube/v3/docs/search/list?hl=en

追加情報: 各クエリで検索フィールドのために、あなたが1,000,000、あなたの最初の制限があり100 がかかりますこの限界に近づいているときにYouTubeに連絡することができますが、私はあなたがそれを支払う必要があるかどうかわかりません。

あなたはここでクォータ制限についての詳細を見つけることができます。 https://developers.google.com/youtube/v3/determine_quota_cost

+0

クォータのおかげでたくさんありました。私は今まで知りませんでした。このコードでは、「要求でAndroidパッケージ名や署名証明書のフィンガープリントが指定されていません」というエラーが表示されます。私は正しいパッケージ名とSHA1証明書を確認しました。私は別のAPIキーを作成し、制限をnoneに設定していました。ありがとう、しかし、どのようにそれを制限と動作するようにする任意のアイデア? –

+0

私は考えていない、私はあまりにも制限のないAPIキーを使用しています! –

関連する問題