(OAuthException)(#200)异常,而使用Facebook C#SDK

问题描述:

发布到Facebook涂鸦墙我的工作在asp.net MVC3和我使用的Facebook C#SDK张贴在墙上的FB。我在试图贴在墙上时遇到以下错误。(OAuthException)(#200)异常,而使用Facebook C#SDK

(OAuthException)(#200)的用户没有授予应用程序自动发布饲料的故事

请参阅我使用的代码的权限。

串appAccessToken = “accessstoken”; //在fb开发人员创建应用程序后,我获得了这个标记。

 FacebookClient fb = new FacebookClient(appAccessToken); 
     Dictionary<string, object> parameters = new Dictionary<string, object>() 
                { 
                 {"description", "Testbeskrivning"}, 
                 {"link", ""}, 
                 {"name", "Testtitel" } 

                }; 

     fb.Post("myfbid/feed", parameters); 
+0

喜请找到上述代码的解决方案。 – Rakesh

+0

上面的代码工作下载facebook c#sdk 5.2.1。然后将.net 4.0客户端文件夹中的.net.dll文件包含到我们的proj.add命名空间中,然后使用上面的方法调用上面的方法。在上面的方法访问令牌中,您可以通过在浏览器中粘贴此URL,然后从Facebook和URL中提供正确的应用程序ID这与您的fb应用程序中设置的画布网址相同。 https://www.facebook.com/dialog/oauth?client_id=appid&redirect_uri=canvasurlsetinfb-oursitename&scope=manage_pages&response_type=token。在重定向页面中,您可以在url中看到访问令牌。 – Rakesh

+0

不要忘记在参数中添加消息,否则你的帖子将在墙上为空。将{“message”,“your message”}添加到参数列表 – Rakesh

那是因为你还没有添加正确的权限,当你得到LoginUrl: 您必须添加以下权限:publish_stream

var oAuthClient = new FacebookOAuthClient(FacebookApplication.Current); 
oAuthClient.RedirectUri = new Uri(redirectUrl); 

Dictionary<String, Object> oParams = new Dictionary<String, Object>(); 
oParams.Add("scope", "publish_stream"); 

var loginUri = oAuthClient.GetLoginUrl(oParams); 

对于大多数Facebook功能,您需要来自用户的权限。 检查以下内容页面的所有当前的权限:

https://developers.facebook.com/docs/reference/api/permissions/