Authentication 使用OAuth 2.0的Google实验性实现访问现有API端点
根据这一点,接收OAuth访问令牌的过程是简单的。我希望看到所有可用的API端点的列表,这些端点可以接受OAuth 2.0访问令牌。但对于我目前的需求,我希望通过某种方式接收使用OAuth 2.0访问令牌的用户的Authentication 使用OAuth 2.0的Google实验性实现访问现有API端点,authentication,oauth,google-api,single-sign-on,oauth-2.0,Authentication,Oauth,Google Api,Single Sign On,Oauth 2.0,根据这一点,接收OAuth访问令牌的过程是简单的。我希望看到所有可用的API端点的列表,这些端点可以接受OAuth 2.0访问令牌。但对于我目前的需求,我希望通过某种方式接收使用OAuth 2.0访问令牌的用户的用户名和电子邮件 例如,我可以成功地从该端点接收数据: https://www.google.com/m8/feeds/contacts/default/full https://www.googleapis.com/userinfo/email 但无法从此终结点接收数据: http
用户名
和电子邮件
例如,我可以成功地从该端点接收数据:
https://www.google.com/m8/feeds/contacts/default/full
https://www.googleapis.com/userinfo/email
但无法从此终结点接收数据:
https://www.google.com/m8/feeds/contacts/default/full
https://www.googleapis.com/userinfo/email
我尝试了头基和查询基两种传递单个访问令牌的方法。以下是我尝试过的标题:
Authorization: OAuth My_ACCESS_TOKEN
我甚至尝试了OAuth1.0版本的授权头,但是。。。例如,在OAuth2.0中,我们没有秘密访问令牌。Google在OAuth 2.0的实现中使用承载令牌,因此不需要额外的凭证
有人使用Google OAuth 2.0成功接收用户名和电子邮件吗 试试这个:
curl-k-H“授权:OAuth 1/g5_039acafebul7Ocyb31 Uryu5Tuidudiwkuxn1o”
输出:电子邮件=name@gmail.com&isVerified=tru我找到了我想要的答案。我必须将PHP转换为MVC,但非常简单: 我的MVC
Login
sandbox代码如下所示。
(使用JSON.Net)
为了完成所有工作,我加入了我创建的HttpClient实用程序,以防有人需要它
public class HttpClient
{
public static string GetUrl(Uri url, string OAuth)
{
string result = string.Empty;
using (WebClient httpClient = new WebClient())
{
httpClient.Headers.Add("Authorization","OAuth " + OAuth);
result = httpClient.DownloadString(url.AbsoluteUri);
}
return result;
}
public static string PostUrl(Uri url, NameValueCollection formData)
{
string result = string.Empty;
using (WebClient httpClient = new WebClient())
{
byte[] bytes = httpClient.UploadValues(url.AbsoluteUri, "POST", formData);
result = Encoding.UTF8.GetString(bytes);
}
return result;
}
}
同样,这只是为了让它发挥作用而编写的测试代码,我不建议像在生产环境中那样使用它。我也有同样的问题。您是否找到了解决方案/解决方法?