我正在开发一个 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 ecc。所以我在 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");
我没有收到任何错误,但是在创建此服务后,我尝试获取我的任务列表,但什么也没发生,我也没有得到任何结果。当我尝试记录任务列表列表的内容时,我得到了一个空列表“{}”。我怀疑这可能是因为我找到了旧版本的库,但即使我尝试使用最新版本,它也不起作用,我得到了相同的结果。我真的很困惑。
我发现的每个教程都推荐了不同版本的库和不同的策略。我真的不知道我应该关注哪一个。