我一直在努力为Youtube实现SearchByKeyword,因为我发现很难将几乎所有文档中使用的Java语言联系起来。我想
与我想要的最相关,但我根本无法工作。我的困惑:
如何使用此Search类?例如点击一下按钮?我不确定我可以调用的构造函数在哪里并放入我想要搜索的关键字。
例如:代码的第90行
String queryTerm = getInputQuery();
会打电话给 private static String 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 :(得分: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
额外信息: 在搜索字段的每个查询中,它的成本为100。 你有一个初始限制为1,000,000,你可以在接近达到此限制时联系youtube,但我不确定你是否需要付费。
您可以在此处找到有关配额限制的更多信息: https://developers.google.com/youtube/v3/determine_quota_cost