2012-05-12 5 views
2

ステータスアップデートを投稿しようとすると、Facebook C#SDKを使用して次のエラーが発生します: OAuthException:(#200)ユーザーがこの操作を実行するアプリケーションを承認していないOAuthException:(#200)ユーザーがこのアクションを実行するアプリケーションを承認していません

このエラーは一部のユーザーにのみ発生しています。他のいくつかについては、ステータスは正常に更新されています。アプリケーションがすべてのユーザーに正常にアクセスしています。

これは完全なコードです:

public partial class Authorize : Form 
    { 
     public Authorize() 
     { 
      InitializeComponent(); 

     } 

     public string ApplicationId 
     { 
      get 
      { 
       return ConfigurationManager.AppSettings["ApplicationId"]; 
      } 
     } 

     public string ExtendedPermissions 
     { 
      get 
      { 
       return ConfigurationManager.AppSettings["ExtendedPermissions"]; 
      } 
     } 

     public string AppSecret 
     { 
      get 
      { 
       return ConfigurationManager.AppSettings["ApplicationSecret"]; 
      } 
     } 

     public string AccessToken { get; set; } 

     private void LoadAuthorize(object sender, EventArgs e) 
     { 
      var destinationURL = String.Format(
       @"https://www.facebook.com/dialog/oauth?client_id={0}&scope={1}&redirect_uri=http://www.facebook.com/connect/login_success.html&response_type=token", 
       this.ApplicationId, 
       this.ExtendedPermissions); 
      webBrowser.Navigated += WebBrowserNavigated; 
      webBrowser.Navigate(destinationURL); 
     } 

     private void WebBrowserNavigated(object sender, WebBrowserNavigatedEventArgs e) 
     { 
      // get token 
      var url = e.Url.Fragment; 
      if (url.Contains("access_token") && url.Contains("#")) 
      { 
       this.Hide(); 
       url = (new Regex("#")).Replace(url, "?", 1); 
       this.AccessToken = System.Web.HttpUtility.ParseQueryString(url).Get("access_token"); 
       //MessageBox.Show(facebookCore.AccessToken); 
       try 
       { 
        //var facebooking = new FacebookingTest(facebookCore.AccessToken); 
        //facebooking.UpdateStatus(); 
        var fb = new FacebookClient(this.AccessToken); 
        dynamic result = fb.Post("me/feed", new { message = "Hi..Test33" }); 
        var newPostId = result.id; 
       } 
       catch (Exception exception) 
       { 
        Console.Write(exception); 
       } 
      } 

     } 
    } 
+0

をしようとしましたPrabhirによって与えられたコードhttp://blog.prabir.me/post/Facebook-CSharp-SDK-Writing-your-First-Facebook-Application-v6.aspx ..同じ問題 – harry

+0

アクセストークンに 'publish_stream'または 'publish_actions'権限があることは間違いありませんか?前者はユーザーが拒否および/または取り消すことができる任意のアクセス許可です – Igy

答えて

2

はファイルApp.configファイルを開いてみてください、次のように

<appsettings> 

セクションの最後の行を変更します。

<add key="ExtendedPermissions" value="offline_access,publish_stream,publish_actions" /> 
+1

App.Configを開き、セクションの最後の行を次のように変更します。

関連する問題