【问题标题】:google oauth access token 411 response谷歌 oauth 访问令牌 411 响应
【发布时间】:2012-11-17 05:35:21
【问题描述】:

我正在使用 google 的 OAuth api 用于 Web 服务器应用程序,特别是 asp.net mvc,并且我能够到达 google 返回某个 oauth 请求的授权代码的地步。此时,我正在尝试使用以下代码获取访问令牌:

public ActionResult GetOAuthToken()
{
     HttpWebRequest myReq = (HttpWebRequest)WebRequest.Create(OAuthConfig.getTokenUrl(Request.QueryString["code"].ToString()));
     myReq.Method = "POST";
     myReq.Host = "accounts.google.com";
     myReq.ContentType = "application/x-www-form-urlencoded";
     WebResponse resp = myReq.GetResponse();
     return View();
 }

OAuthConfig 只是我写的一个类,它包含一个方法 getTokenUrl(),它返回一个带有参数的 url,如 url 的 code、client_secret、client_id 等:https://accounts.google.com/o/oauth2/token。我已经调试并检查了这个网址没有任何问题。

我不断收到以下错误:远程服务器返回错误:(411) 长度要求。

我不知道为内容长度指定什么,或者我是否需要包含其他内容来修复此错误?

【问题讨论】:

    标签: c# asp.net-mvc google-api oauth-2.0 google-oauth


    【解决方案1】:

    你有没有试过看看Google-API .NET Client

    如果您进行调试,您会看到 Google 在发送访问令牌请求时使用“长度”作为内部属性。您可以尝试自己修复它,但您可以使用 THEIR 类来发送令牌请求;如果您使用他们的课程,您不必担心内部诸如长度......

    【讨论】:

    • 我已经多次下载该库,但由于我提取 zip 文件时的原因,它只是说“无法打开文件 google-api-dot-net-client.zip”,所以我无法使用谷歌的客户端库。
    • 如果您发现很难打开 zip 文件(可能已损坏等) - 尝试解决此问题并继续;我不认为当你让谷歌实现它时,你自己实现它是一个很好的理由......试着理解为什么它不能在你的环境中打开。
    猜你喜欢
    • 2012-11-13
    • 1970-01-01
    • 2014-10-17
    • 2019-07-07
    • 2017-11-13
    • 2018-07-13
    • 2015-05-17
    • 2022-01-20
    • 1970-01-01
    相关资源
    最近更新 更多