authentication - 授权 Google 待办事项列表 (AuthToken, secid)

标签 authentication google-calendar-api google-oauth

我正在尝试使用以下网址访问 Google 的待办事项提要:
https://www.google.com/calendar/tdl?secid=<SECID>&tdl={%22action_list%22%3A[{%22action_type%22%3A%22get_all%22%2C%22action_id%22%3A%221%22%2C%22list_id%22%3A%2215052708471047222911%3A0%3A0%22%2C%22get_deleted%22%3Afalse}]%2C%22client_version%22%3A-1}
如果我使用正确的 secid 在浏览器中打开它,它会正确显示我想要的内容。

现在,问题是:如何以编程方式(特别是在 Java 程序中)获得 secid?我可以访问 authToken(来自 CalendarService),但我不知道如何使用它来授权我访问上面的 URL。

我尝试使用网址 http://google.com/accounts/ServiceLogin ,但我没有找到任何例子。

请问有什么帮助吗?

最佳答案

从我读到的 secid是从浏览器的 cookie 中获取的 session ID。而您的案例使用 Java,这意味着服务器应用程序。如果是这种情况,您想放弃使用 secid 的想法。完全。

相反,您想查看 Google's OAuth2 documentation .如果您使用 Java,很可能您会对 the web-server OAuth flow 感兴趣.请特别注意序列图。

关键步骤包括:

1) 在用户同意的情况下,从 Google OAuth 获取授权码。为此,您将用户重定向到具有适当范围的 Google。查看calendar scopes的列表对于你的情况。用户同意后,Google 会使用授权代码重定向回您。

2) 使用授权代码和您的应用程序凭据调用 Google OAuth 以交换访问 token 。

3) 使用访问 token 调用 Google 的日历 API。

如果您按照@ChaosPredictor 的建议使用 Google 的 Java 客户端,那么很可能某些步骤已经包含在 Java 客户端中(并且您的代码会简单得多)。

关于authentication - 授权 Google 待办事项列表 (AuthToken, secid),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4597102/

相关文章:

javascript - 谷歌日历 API v3 : events from a particular week

security - 用于微 Controller 嵌入式设备的基于TCP的简单认证和加密方法

javascript - 错误: origin_mismatch when using Google calendar API with port 444

c# - 如何创建周期性日历事件?

r - 如何用R语言生成JWS

api - 使用 Facebook/Google/Twitter 登录 API 创建和管理用户

java - 如何从 Android 访问内置 Google Apps 脚本 'Web App'?

php - 销售每月在线服务

r - 如何使用服务帐户和 bigrquery 包进行身份验证?

http - ejabberd_http_auth 插件中的未知选项 'auth_opts' 问题