获取报告 G Suite 帐户
get report G Suite account
我正在尝试通过调用 https://www.googleapis.com/admin/reports/v1/activity/users/all/applications/meet
获取 google 报告 activity
我创建了一个服务帐户,我必须使用生成的 private key
(json 文件)作为 access token
。
我的代码是:
String PROTECTED_RESOURCE_URL = "https://www.googleapis.com/admin/reports/v1/activity/users/all/applications/meet?eventName=call_ended&maxResults=10&access_token=";
String graph = "";
try
{
JSONParser parser = new JSONParser();
JSONObject data = (JSONObject) parser.parse(
new FileReader("C:/Users/Administrateur/Desktop/GoogleApis/Interoperability-googleApis/target/classes/my-first-project-274515-361633451f1c.json"));//path to the JSON file.
String json_private_key = data.toJSONString();
URL urUserInfo = new URL(PROTECTED_RESOURCE_URL + json_private_key);
HttpURLConnection connObtainUserInfo = (HttpURLConnection) urUserInfo.openConnection();
if (connObtainUserInfo.getResponseCode() == HttpURLConnection.HTTP_OK)
{
StringBuilder sbLines = new StringBuilder("");
BufferedReader reader = new BufferedReader(new InputStreamReader(connObtainUserInfo.getInputStream(), "utf-8"));
String strLine = "";
while ((strLine = reader.readLine()) != null)
{
sbLines.append(strLine);
}
graph = sbLines.toString();
}
}
catch (IOException ex)
{
ex.printStackTrace();
}
System.out.println("--------------- Result: " + graph);
但我得到的是空值。
你能告诉我我想念什么吗?。
非常感谢。
访问令牌不是您请求的一部分URL。您可以阅读 here 了解 OAuth2 协议及其工作原理。
但是,Google 构建了一个 API,使您能够验证您的请求,而不必担心底层的 OAuth2 流程。
您应该使用 Java Google 报告 API 来访问活动。 Here 您可以找到 Java 快速入门,它将帮助您完成 Java 应用程序的首次设置。
这里 Java 使用 Google 报告 API:
翻译您正在尝试做的事情
Reports service = new Reports.Builder(HTTP_TRANSPORT, JSON_FACTORY, getCredentials(HTTP_TRANSPORT))
.setApplicationName(APPLICATION_NAME)
.build();
String userKey = "all";
String applicationName = "meet";
String eventName = "call_ended";
Activities result = service.activities().list(userKey, applicationName)
.setEventName(eventName)
.setMaxResults(10)
.execute();
编辑:
请务必使用 Java API 软件包的最新版本。您可以在此处找到 Java API 文档:https://developers.google.com/resources/api-libraries/documentation/admin/reports_v1/java/latest/
如果您使用的是 Gradle,请确保在依赖项参数中包含此行。
dependencies {
...
compile 'com.google.apis:google-api-services-admin-reports:reports_v1-rev89-1.25.0'
}
参考资料
我正在尝试通过调用 https://www.googleapis.com/admin/reports/v1/activity/users/all/applications/meet
我创建了一个服务帐户,我必须使用生成的 private key
(json 文件)作为 access token
。
我的代码是:
String PROTECTED_RESOURCE_URL = "https://www.googleapis.com/admin/reports/v1/activity/users/all/applications/meet?eventName=call_ended&maxResults=10&access_token=";
String graph = "";
try
{
JSONParser parser = new JSONParser();
JSONObject data = (JSONObject) parser.parse(
new FileReader("C:/Users/Administrateur/Desktop/GoogleApis/Interoperability-googleApis/target/classes/my-first-project-274515-361633451f1c.json"));//path to the JSON file.
String json_private_key = data.toJSONString();
URL urUserInfo = new URL(PROTECTED_RESOURCE_URL + json_private_key);
HttpURLConnection connObtainUserInfo = (HttpURLConnection) urUserInfo.openConnection();
if (connObtainUserInfo.getResponseCode() == HttpURLConnection.HTTP_OK)
{
StringBuilder sbLines = new StringBuilder("");
BufferedReader reader = new BufferedReader(new InputStreamReader(connObtainUserInfo.getInputStream(), "utf-8"));
String strLine = "";
while ((strLine = reader.readLine()) != null)
{
sbLines.append(strLine);
}
graph = sbLines.toString();
}
}
catch (IOException ex)
{
ex.printStackTrace();
}
System.out.println("--------------- Result: " + graph);
但我得到的是空值。
你能告诉我我想念什么吗?。 非常感谢。
访问令牌不是您请求的一部分URL。您可以阅读 here 了解 OAuth2 协议及其工作原理。
但是,Google 构建了一个 API,使您能够验证您的请求,而不必担心底层的 OAuth2 流程。 您应该使用 Java Google 报告 API 来访问活动。 Here 您可以找到 Java 快速入门,它将帮助您完成 Java 应用程序的首次设置。
这里 Java 使用 Google 报告 API:
翻译您正在尝试做的事情Reports service = new Reports.Builder(HTTP_TRANSPORT, JSON_FACTORY, getCredentials(HTTP_TRANSPORT))
.setApplicationName(APPLICATION_NAME)
.build();
String userKey = "all";
String applicationName = "meet";
String eventName = "call_ended";
Activities result = service.activities().list(userKey, applicationName)
.setEventName(eventName)
.setMaxResults(10)
.execute();
编辑:
请务必使用 Java API 软件包的最新版本。您可以在此处找到 Java API 文档:https://developers.google.com/resources/api-libraries/documentation/admin/reports_v1/java/latest/
如果您使用的是 Gradle,请确保在依赖项参数中包含此行。
dependencies {
...
compile 'com.google.apis:google-api-services-admin-reports:reports_v1-rev89-1.25.0'
}