gpt4 book ai didi

java - Android:如何验证我的 Google 帐户以及如何获取我的 GMail 任务?

转载 作者:行者123 更新时间:2023-12-01 04:40:02 29 4
gpt4 key购买 nike

我正在开发一个 Android 应用程序来连接到我的 Google 任务并在 ListView 中显示它们。我尝试逐步遵循一些教程,例如 https://developers.google.com/google-apps/tasks/oauth-and-tasks-on-android但这些都不起作用。我尝试下载 google-api-services-tasks-v1-1.1.0-beta.jar 以及该教程中指示的所有 jar,在导入所有必要的库后,它不起作用,当我尝试连接后获取我的任务,我只是得到空值。

我发现我可以使用 Oauth2.0 进行身份验证并访问任务 API,以获取我的 clientID 等,因此我在 Google API 的控制台上创建了一个帐户并创建了我的 OAuth clientID。

之后我尝试使用此代码进行身份验证

HttpTransport transport = new NetHttpTransport();
JacksonFactory jsonFactory = new JacksonFactory();

String clientId = "myID";
String clientSecret = "mySecret";
String redirectUrl = "https://localhost/oauth2callback";
Iterable<String> scope ="https://www.googleapis.com/auth/tasks";
String authorizationUrl = new GoogleAuthorizationCodeRequestUrl(clientId, redirectUrl, scope)
.build();
String code="Code";
GoogleTokenResponse response = new GoogleAuthorizationCodeTokenRequest(transport, jsonFactory,
clientId, clientSecret, code, redirectUrl).execute();
GoogleAccessProtectedResource accessProtectedResource = new GoogleAccessProtectedResource(
response.getAccessToken(), transport, jsonFactory, clientId, clientSecret,
response.getRefreshToken());
Tasks service = new Tasks(transport, jsonFactory, accessProtectedResource);
AccessProtectedResource accessProtectedResource = new GoogleAccessProtectedResource(accessToken);
Tasks service = new Tasks(transport, new JacksonFactory(), accessProtectedResource);
service.accessKey="MyKey";
service.setApplicationName("GTasks");

我没有收到任何错误,但在创建此服务后,我尝试获取我的任务列表,但什么也没发生,也没有得到任何结果。当我尝试记录任务列表列表的内容时,我只得到一个空列表“{}”。我怀疑这可能是因为我找到的库的旧版本,但即使当我尝试使用最新版本时它也不起作用,并且我得到了相同的结果。我真的很困惑。

我发现的每个教程都推荐不同版本的库和不同的策略。我真的不知道该关注哪一个。

最佳答案

Tasks API 真的令人困惑。

我和你一样,尝试进行自己的身份验证,但没有成功。我发现修改 google-api-java-client 提供的示例更容易。此示例仅列出“默认”任务列表中的任务。

您需要下载并安装 Eclipse 的 GDT 插件,然后用它来安装您想要使用的 Google API。

示例工作完成后,您可以通过查看 here 来执行更多操作。以供不同的功能使用。例如,要请求“默认”任务列表中的所有任务,请使用以下行:

client.tasks().list("@default").setFields("items/title").execute().getItems();

更新任务:

client.tasks().update("@default", task.getId(), task).execute();

等等。

关于java - Android:如何验证我的 Google 帐户以及如何获取我的 GMail 任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16707346/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com