2017-10-14 2 views
0

Ich habe Schwierigkeiten bei der Implementierung von SearchByKeyword für Youtube, da ich es schwer finde, die Java-Sprache in fast allen Dokumentationen zu beziehen. Ich denke,Implementieren Suche nach Stichwort auf Youtube

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

ist das relevant, was ich will, aber ich kann es nicht überhaupt zu arbeiten. Meine Verwirrung:

Wie engagiere ich diese Suchklasse? Zum Beispiel auf einen Knopf klicken? Ich bin mir nicht sicher, wo der Konstruktor ist, den ich aufrufen kann, und lege die Schlüsselwörter ein, nach denen ich suchen möchte.
Zum Beispiel: In Zeile 90 des Code

String queryTerm = getInputQuery(); 

wird
private static String getInputQuery nennen() throws 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; 
} 

ich meine Keywords durch EditText.getText().toString() und Einrücken der Suche erhalten möchten indem Sie auf eine Button klicken. Das wird mir eine Liste von Ergebnissen zurückgeben, die ich zum Anzeigen einer ArrayAdapter verwenden kann.

Wie mache ich das? Vielen Dank im Voraus für jegliche Hilfe. Ich habe Tage lang nach Anleitungen gesucht, ohne Ergebnis, es gibt Dokumentationen, aber ich kann sie nicht in Android übersetzen. Bitte helfen Sie.

+0

Hallo, ich habe eine Abfrage-Code mit youtube api haben, ist es nicht die Art und Weise versuchen Sie, zu tun, aber ich kann, wenn Sie Interesse haben, teilen. –

+0

Jede Hilfe ist Hilfe! Sicher werde ich versuchen zu lernen, was ich kann –

Antwort

1

Erstens ist das Ihr 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(); 
}` 

dies wird Ihnen eine frühe Vorstellung davon, wie api verwenden, tun Tests und Tests.

Sie weitere Informationen zu dem Lager sind abrufbare finden Sie hier: https://developers.google.com/youtube/v3/docs/search/list?hl=en

zusätzliche Informationen: bei jeder Abfrage für das Suchfeld ein, es kostet 100 Sie eine erste Grenze von 1.000.000 haben Sie Kann Youtube kontaktieren, wenn dieses Limit fast erreicht ist, aber ich bin nicht sicher, ob Sie dafür bezahlen müssen.

Sie mehr über die Kontingentgrenze finden Sie hier: https://developers.google.com/youtube/v3/determine_quota_cost

+0

Vielen Dank für die Quote. Ich wusste bis jetzt nie. Ich habe einen Fehler für den Code erhalten: "In der Anfrage wurde kein Android-Paketname oder Signaturzertifikat-Fingerabdruck angegeben." Ich habe meinen Paketnamen und das SHA1-Zertifikat überprüft, die korrekt sind. Ich habe einen anderen API-Schlüssel erstellt und die Einschränkungen auf None festgelegt und es hat funktioniert. Danke, aber eine Idee, wie man mit Einschränkungen zur Arbeit kommt? –

+0

Ich habe keine Ahnung, ich benutze auch einen uneingeschränkten API-Schlüssel! –

Verwandte Themen