如何在Android中通过HTTPUrlConnection调用Youtube数据API,并使用标题?

如何在Android中通过HTTPUrlConnection调用Youtube数据API,并使用标题?,android,httprequest,httpurlconnection,youtube-data-api,Android,Httprequest,Httpurlconnection,Youtube Data Api,我正在尝试开发我的应用程序的一部分,我想在其中获取关键字的视频详细信息。我正在使用搜索列表API。我想我对授权有问题。我正在申请401。我已尝试传递我的授权详细信息 在浏览了一些在线资源之后,我尝试了以下代码,目前我在获取输入流的行中获得了java.io.FileNotFoundException。我得到的连接代码是401 给定的代码位于AsyncTask的doInBackground中 String ytres=""; URL url; HttpURLConne

我正在尝试开发我的应用程序的一部分,我想在其中获取关键字的视频详细信息。我正在使用搜索列表API。我想我对授权有问题。我正在申请401。我已尝试传递我的授权详细信息

在浏览了一些在线资源之后,我尝试了以下代码,目前我在获取输入流的行中获得了java.io.FileNotFoundException。我得到的连接代码是401

给定的代码位于AsyncTask的doInBackground中

String ytres="";
        URL url;
        HttpURLConnection urlConnection = null;
        try {
            Log.d("youtubedata","a1");
            url = new URL("https://www.googleapis.com/youtube/v3/search?part=id&q=queen%20bohemian");
            Log.d("youtubedata","a2");
            Log.d("youtubedata","a");
            urlConnection = (HttpURLConnection) url
                    .openConnection();
            urlConnection.setRequestMethod("GET");
            urlConnection.setRequestProperty ("Authorization", "Bearer MYAPIKEY");
            urlConnection.setRequestProperty ("Accept", "application/json");
            Log.d("youtubedatanum",Integer.toString(urlConnection.getResponseCode()));
            InputStream in = urlConnection.getInputStream();

        InputStreamReader isw = new InputStreamReader(in);

        int data = isw.read();
        while (data != -1) {
            char current = (char) data;
            data = isw.read();
            ytres=ytres+current;
            System.out.print(current);
        }
        Log.d("youtubedata",ytres);
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        if (urlConnection != null) {
            urlConnection.disconnect();
        }
    }
    return ytres;

我怀疑问题在于我传递API密钥的方式。

对于You tube Data API错误401

未经授权(401)的可能问题可能是

  • 需要授权
  • youtubeSignupRequired
检查管数据API错误文档

还要确认您已经按照步骤集成了API

您可以找到的示例API代码


希望这能帮助你

请在和浏览API文档

您将看到URL不包含作为键参数传递的所需API键

同样值得一提的是,谷歌自己的Java实现示例。然而,由于它所使用的库抽象层的原因,该代码并不能立即起到帮助作用,因为它模糊了客户机直接使用API的方式