【问题标题】:Facebook C# API return 400 when deauthorizing appFacebook C# API 在取消授权应用程序时返回 400
【发布时间】:2011-12-22 01:51:11
【问题描述】:

使用 2011 年 12 月 20 日发布的 Facebook C# API 版本,我使用“/{facebook id}/permissions”调用 facebook 客户端删除命令,我收到一个 400 Bad request 返回给我。我也尝试过以下变体:“{facebook id}/permissions”、“/{app id}/permissions”、“{app id}/permissions”、“/{facebook id}/permission”、“me/权限”和“/{app id}/permission”。我已经通过 C# API 成功发出了其他删除命令(例如删除评论、删除喜欢和删除提要发布)。

此文档参考说您要向 {profile id}/permissions 发出删除命令

https://developers.facebook.com/docs/reference/rest/auth.revokeAuthorization/

我已尝试通过 Graph Api Explorer (https://developers.facebook.com/tools/explorer?method=DELETE) 对删除命令使用 {facebook id}/permissions,它在那里工作。所以我很困惑为什么我只收到一个 400 错误的取消授权请求。

   at FluentHttp.HttpHelper.OpenRead() in C:\temp\FBSDK-5.4.1.0.src\FacebookCSharpSDK\Source\Facebook\FluentHttp\HttpHelper.cs:line 693
   at Facebook.FacebookClient.Api(String path, IDictionary`2 parameters, HttpMethod httpMethod, Type resultType) in C:\temp\FBSDK-5.4.1.0.src\FacebookCSharpSDK\Source\Facebook\FacebookClient.cs:line 458

   at Facebook.HttpWebRequestWrapper.GetResponse() in C:\temp\FBSDK-5.4.1.0.src\FacebookCSharpSDK\Source\Facebook\FluentHttp\HttpHelper.cs:line 321
   at FluentHttp.HttpHelper.OpenRead() in C:\temp\FBSDK-5.4.1.0.src\FacebookCSharpSDK\Source\Facebook\FluentHttp\HttpHelper.cs:line 672

https://graph.facebook.com:443/me/permissions?access_token=xxxx 是传递给 CreateHttpWebRequest() 方法的 uri。内容类型是“application/x-www-form-urlencoded”。当 _httpWebRequest.GetResponse();被调用,那是在 HttpHelper.cs 的第 680 行抛出 WebException 的时候。

“远程服务器返回错误:(400) Bad Request。”

<HTML>
<HEAD> 
<TITLE>400 Bad Request</TITLE> 
</HEAD>
<BODY> 
<H1>Method Not Implemented</H1> 
Invalid method in request<P> 
</BODY>
</HTML>

这是一个奇怪的响应,因为我可以从图形 API 资源管理器运行删除权限而不会收到此错误。

【问题讨论】:

  • 在 FluentHttp.HttpHelper.OpenRead() in C:\temp\FBSDK-5.4.1.0.src\FacebookCSharpSDK\Source\Facebook\FluentHttp\HttpHelper.cs:Facebook.FacebookClient.Api 的第 693 行(字符串路径,IDictionary`2 参数,HttpMethod httpMethod,Type resultType)在 C:\temp\FBSDK-5.4.1.0.src\FacebookCSharpSDK\Source\Facebook\FacebookClient.cs:line 458
  • 即使尝试了我/权限,仍然得到一个错误。 graph.facebook.com:443/me/permissions?access_token=xxxx 是传递给 CreateHttpWebRequest() 方法的 uri。内容类型是“application/x-www-form-urlencoded”。当 _httpWebRequest.GetResponse();被调用,那是在 HttpHelper.cs 的 lin 680 中引发 WebException 的时候。 “远程服务器返回错误:(400) Bad Request。”
  • 这是返回给 API 的 HTML。 400 Bad Request

    方法未实现

    请求中的方法无效

    跨度>

  • 7 天内没有答案或帮助...因此将缺陷提交给 API 所有者。见facebooksdk.codeplex.com/workitem/5926

标签: facebook-graph-api facebook-c#-sdk authorize


【解决方案1】:

使用 API 记录为错误

参见 facebooksdk.codeplex.com/workitem/5926

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-09-16
    • 1970-01-01
    • 1970-01-01
    • 2016-04-13
    • 2012-04-07
    • 1970-01-01
    • 2012-01-10
    相关资源
    最近更新 更多