【发布时间】:2012-04-12 17:45:46
【问题描述】:
我对 OAuth Arena 和 Google ApI 非常陌生,但我想要在这里实现的目标非常简单。
用户点击 Google Connect 按钮和我的网络服务应该能够从 Google 服务器获取所有用户个人资料信息:
我已经编写了获取 AccessToken 的代码(我还没有测试它)但是假设它工作正常,现在我应该如何要求 Google API 给我用户配置文件?我确实在 GoogleConsumer 类中看到了名为 Get Contacts 的静态函数,但我没有看到任何获取 profiledata 的选项。可能有什么我想念的吗?
这是我用来获取 accessToken 的代码:
IConsumerTokenManager tokenManager =
new LocalTokenManager(consumerKey,consumerSecret);
var googleConsumer =
new WebConsumer(GoogleConsumer.ServiceDescription, tokenManager);
var tokenResult = googleConsumer.ProcessUserAuthorization();
return tokenResult.AccessToken;
现在,我如何从中获取用户个人资料?
【问题讨论】:
-
大家好,我不知道为什么没有人接触过这个问题。如果我缺少任何信息,请告诉我。基本上,令我惊讶的是,所有这些 WebConsumer(GoogleConsumer 和 TwitterConsumer)都具有 getContacts 和 UpdateStatus 和 PostBlog 等所有复杂功能,但没有像 GetProfile 这样的基本功能。我在网上看到的所有示例实际上都让 USerprofile gy 在 Google 的网络服务 URL 上调用 GET,但我没有看到任何演示如何使用 GoogleWebConsume 检索 userProfile 的内容。是不是不可能?
-
this SO post 不回答你的问题吗?
-
好吧,这篇文章说我们可以使用googleapis.com/auth/userinfo.profile 作为范围。这个范围究竟适用于哪里?我是否在 RequestAuthorization 调用中使用它?因为我试图把这个 URL 放在上面,但它不接受字符串参数。
标签: c# oauth google-api