【发布时间】:2013-05-02 04:17:30
【问题描述】:
问题是:有没有一种新方法可以调用 API,以便将活动插入到用户的个人资料中?
大约一个月前我发布了a related question here。它工作正常,直到本周早些时候它突然停止工作并抱怨这个错误:
[错误信息]
发送直接消息或获取响应时出错
[内部异常]
远程服务器返回错误:(400) Bad Request。
[堆栈跟踪]
在 DotNetOpenAuth.Messaging.StandardWebRequestHandler.GetResponse(HttpWebRequest 请求,DirectWebRequestOptions 选项)
在 DotNetOpenAuth.Messaging.StandardWebRequestHandler.GetResponse(HttpWebRequest 请求)
在 DotNetOpenAuth.Messaging.Channel.GetDirectResponse(HttpWebRequest 网络请求)
在 DotNetOpenAuth.Messaging.Channel.RequestCore(IDirectedProtocolMessage 请求)
在 DotNetOpenAuth.Messaging.Channel.Request(IDirectedProtocolMessage 请求消息)
在 DotNetOpenAuth.OAuth2.ClientBase.UpdateAuthorizationWithResponse(IAuthorizationState 授权状态,EndUserAuthorizationSuccessAuthCodeResponse 授权成功)
在 DotNetOpenAuth.OAuth2.WebServerClient.ProcessUserAuthorization(HttpRequestInfo 请求)
在 GPlusWrapper.PlusWrapper.GetAuthorization(WebServerClient 客户端) 中 \gplus_csharp_ssflow\PlusWrapper.cs:line 122
在 Google.Apis.Authentication.OAuth2.OAuth2Authenticator`1.LoadAccessToken()
在 Google.Apis.Authentication.OAuth2.OAuth2Authenticator
1.ApplyAuthenticationToRequest(HttpWebRequest request)1 onRequestReady) 在 Google.Apis.Requests.Request.ExecuteRequestAsync(Action
at Google.Apis.Requests.Request.CreateWebRequest(Action1 responseHandler) at Google.Apis.Requests.ServiceRequest1.GetAsyncResponse(Action1 responseHandler) at Google.Apis.Requests.ServiceRequest1.GetResponse() 在 Google.Apis.Requests.ServiceRequest`1.Fetch()
乍一看,熟悉 Google API 和 DNOA 的人会说这是 DNOA 问题。我已经搜索了三天,发现具有相同错误消息的问题不适合该问题 - 或者建议的解决方案不适合我遇到的问题。
所以接下来要做的是升级,是的,这是有道理的,因为 Google 团队可能已经改变了 API 的工作方式。于是我从v1.2.4737.25316升级到v1.3.0.15233,也就是最新稳定版in the repo。
为了确保不是我的代码或我的代码中的某些东西导致了问题,我重新访问了Gus' sample code given here。该示例代码曾经在v1.2 中工作,但在v1.2 和v1.3 中也停止工作。
现在由于有新版本的库,只有重新访问the docs 并查看配置是否发生更改或如何调用 API 才有意义。调用 API 的方式似乎没有什么不同。
所以我做了上次调试应用程序时所做的事情。我都试过了
- request_visible_actions;和
- 请求可见操作
我仍然有 access_type 参数,但没有任何效果。
同样,我的问题是:有没有一种新的方法可以调用 API,以便将活动插入到用户的个人资料中?
请注意我使用的是服务器端流程
【问题讨论】:
标签: .net google-api google-plus dotnetopenauth google-api-dotnet-client