我读了OAuth,所以我理解了基本原则。如果我有访问令牌和日历ID,我似乎无法获得如何向Google Calendar API(我使用v3)授权请求。
我工作的应用程序应该将数据写入我们的数据库和Google日历。因此,当用户授权我的应用访问其日历时,我会获得访问令牌和日历ID。我的问题是我接下来该怎么办?我读了大约十几篇关于这个主题的文章,其中只有一篇文章使用了ASP.NET {4}} { - 3}}但问题是它使用了谷歌未列出的过时的NuGet软件包。尝试移植它,但类名,方法名和参数列表都发生了变化,所以现在我不知道该怎么做。
P.S.当然,我在ASP.NET MVC中看到了关于使用OAuth的Google文档,但这对我没什么帮助,因为我无法弄清楚访问令牌的放置位置。
答案 0 :(得分:2)
如果您使用的是承载令牌,那么您的代码应该类似于:
var webClient = new WebClient();
webClient.Headers.Add("Authorization", "Bearer " + AccessToken);
result = webClient.UploadString(Url, "POST", PostData);
原始请求看起来像(忽略POST / GET差异):
GET /calendar/v3/users/me/calendarList/{calendarId} HTTP/1.1
Host: www.googleapis.com
Content-length: 0
Authorization: Bearer <bearer-token>
我建议使用Google OAuth 2.0 Playground对此进行测试,以熟悉API。