YouTube分析示例java程序,在允许用户同意并验证我的应用程序后,我得到一个404错误响应。

问题描述 投票:0回答:1

我试着用java执行You-tube analytics,使用git hub中的java示例代码,示例代码允许我在允许访问的地方获得用户同意页面,当试图使用 "reports().query(" ").execute() "执行查询时,我得到404资源未找到响应。

当执行下面的方法时,我得到404 not found异常。

private static ResultTable executeViewsOverTimeQuery(YouTubeAnalytics analytics,
                                                     String id) throws IOException {

    return analytics.reports()
            .query("channel==" + id,     // channel id
                    "2020-01-14",         // Start date.
                    "2020-01-16",         // End date.
                    "views,uniques")      // Metrics.
            .setDimensions("day")
            .setSort("day")
            .execute();
}

当我在API资源管理器中尝试同样的方法时,它给出了返回200 ok的响应。

enter image description here

API Explorer URL:https:/apis-explorer.appspot.comapis-explorer#pyoutubeAnalyticsv2youtubeAnalytics.reports.query。

Git中心代码URL。 https:/github.comyoutubeapi-samplestreemasterjavasrcmainjavacomgoogleapiservicessamplesyoutubecmdlineanalytics。

控制台日志。

Jan 16, 2020 7:12:08 PM com.google.api.client.util.store.FileDataStoreFactory setPermissionsToOwnerOnly.

警告:无法更改所有人的权限。C:\Users\yoga.oauth-credentials。

2020年1月16日 7:12:08 PM com.google.api.client.util.store.FileDataStoreFactory setPermissionsToOwnerOnly

警告:无法更改所有者的权限:C:\Users\yoga.oauth-credentials。

2020-01-16 19:12:08.993:INFO::通过org.mortbay.log.StdErrLog记录到STDERR。

2020-01-16 19:12:08.994:INFO::jetty-6.1.26

2020-01-16 19:12:09.012:INFO::Started SocketConnector@localhost:8080。

请在浏览器中打开以下地址。 https:/accounts.google.comooauth2auth?access_type=offline&client_id=xxxxxxxxxxxxxxxxxxxxxxxxxxx.app.googleusercontent.com&redirect_uri=http:/localhost:8080Callback&response_type=code&scope=https:/www.googleapis.comauthyt-analytics.readonly%20https:/www.googleapis.comauthyoutube.readonly。

现在试图在默认浏览器中打开该地址......

2020-01-16 19:12:21.400:INFO::Stopped SocketConnector@localhost:8080

默认通道:[email protected] ( UCxxxxxxxxxxxxxxxxx )

IOException: 404 Not Found

未找到

com.google.api.client.googleapis.json.GoogleJsonResponseException。404未找到

未找到

at com.google.api.client.googleapis.json.GoogleJsonResponseException.from(GoogleJsonResponseException.java:146)
at com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(AbstractGoogleJsonClientRequest.java:113)
at com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(AbstractGoogleJsonClientRequest.java:40)
at com.google.api.client.googleapis.services.AbstractGoogleClientRequest$1.interceptResponse(AbstractGoogleClientRequest.java:321)
at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:1056)
at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:419)
at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:352)
at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute(AbstractGoogleClientRequest.java:469)
at com.google.api.services.samples.youtube.cmdline.analytics.YouTubeAnalyticsReports.executeViewsOverTimeQuery(YouTubeAnalyticsReports.java:134)
at com.google.api.services.samples.youtube.cmdline.analytics.YouTubeAnalyticsReports.main(YouTubeAnalyticsReports.java:103)
java google-analytics youtube-data-api youtube-analytics-api youtube-analytics
1个回答
0
投票

你有没有尝试设置 startDateendDate以及其他参数,使用适当的API而不是将它们传递给 query() 方法?

类似的东西。

private static ResultTable executeViewsOverTimeQuery(YouTubeAnalytics analytics,
                                                 String id) throws IOException {

return analytics.reports()
        .query()
        .setEndDate("2020-01-16")
        .setIds("channel==" + id)
        .setMetrics("views,uniques")
        .setStartDate("2020-01-14")
        .setDimensions("day")
        .setSort("day")
        .execute();
}

这里你可以找到类似的例子。reports -query -examples

© www.soinside.com 2019 - 2024. All rights reserved.