Android - YouTube API从视频列表中获取videoId

时间:2017-04-06 13:51:50

标签: android json android-youtube-api youtube-data-api

我想获取videoId(items:[id:{)但它显示org.json.JSONException:没有videoId的值。 这里有错误的代码吗?

items: [
{
    kind: "youtube#searchResult",
    etag: ""etag"",
    id: {
        kind: "youtube#video",
        videoId: "nsVttBhYM2E"
    },
    snippet: {
        publishedAt: "publishedAt",
        channelId: "channelId",
        title: "title",
        description: description",
    thumbnails: {
        default: {
            url: "thumbnail url",
            width: 120,
            height: 90
        },
        medium: {
            url: "thumbnail url",
            width: 320,
            height: 180
        },
        high: {
            url: "thumbnail url",
            width: 480,
            height: 360
        }
    },
    channelTitle: "channelTitle",
    liveBroadcastContent: "none"
    }
},

这是从视频列表

获取视频ID的源代码的一部分
JSONArray items = jsonObject.getJSONArray("items");
for (int i = 0; i < items.length(); i++)
{
    JSONObject json_data = items.getJSONObject(i);
    strVideoID = json_data.getJSONObject("id").getString("videoId");
}

1 个答案:

答案 0 :(得分:0)

现在回答还为时已晚,但将来可能会对某人有所帮助。

首先检查“种类”是否等于“ youtube#video”,然后尝试获取“ id”字符串。这两个密钥都在“ id” JSONObject中。

由于响应中可能还包含一些播放列表,因此可能不是“ videoId”而是“ playlistId”。