【发布时间】: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