【问题标题】:ASP.NET MVC 4 error with Google CalendarAPIv3Google CalendarAPIv3 的 ASP.NET MVC 4 错误
【发布时间】:2014-12-22 13:58:44
【问题描述】:

我试试这个:

var auth = new AuthorizationCodeMvcApp(controller, 
                                       new FlowMetaDataCalendarV3())
           .AuthorizeAsync(CancellationToken.None).Result;

AuthorizationCodeMvcApp 执行正常,但 AuthorizeAsync 在 NewtonSoft.Json 中抛出异常:

[NewtonSoft.Json.JsonreaderException] --> {"从 JsonReader 读取 JObject 时出错。当前 JsonReader 项不是对象:字符串。路径 '',第 1 行,位置 72。"}

我目前已安装:
Google.Apis.Auth vrs 1.9.0
Google.Apis.Auth.MVC 1.9.0
NewtonSoft.Json 6.0.4

如何解决?

【问题讨论】:

  • 能否附上 HTTP 请求和响应(使用 Fiddler 或其他暴露真实 HTTP 流量的工具)。您是否在developers.google.com/api-client-library/dotnet/guide/… 关注我们的文档?顺便说一句,尝试使用文档中建议的异步版本。
  • 是的,我遵循该文档。但是当尝试使用 await 时,会出现编译错误,因为 AuthorizeAsync 方法没有异步标识符。我认为这不是问题的根源。
  • 编译错误是什么?你能附上 Fiddler 的输出吗?
  • 编译错误:-------- 无法等待 Google.Apis.Auth.OAuth2.Web.AuthorizationCodeWebApp.AuthResult --------- 'await' 运算符只能在异步方法中使用。考虑使用“async”修饰符标记此方法并将其返回类型更改为“Task”。
  • Fiddler:--- 主机: 28.client-channel.google.com 连接: keep-alive 用户代理: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like壁虎)铬/ 39.0.2171.95 Safari浏览器/ 537.36 X-产地:talkgadget.google.com X-goog-为AuthUser:1授权:SAPISIDHASH 1419355182857_132464e1553d544879da3439cbb372b41fb98977接受: / i>的X-客户端的数据:CJa2yQEIpbbJAQiptskBCMS2yQEInobKAQjviMoB 跨度>

标签: asp.net asp.net-mvc asp.net-mvc-4 json.net google-api-dotnet-client


【解决方案1】:

尝试使用JArray.Parse() 代替JObject

【讨论】:

  • 我不直接使用 NewtonSoft。该异常出现在 Google.Apis.Auth.MVC 1.9.0 的执行上下文中
猜你喜欢
  • 1970-01-01
  • 2012-10-04
  • 1970-01-01
  • 2013-02-28
  • 1970-01-01
  • 2013-02-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多