2011-12-17 15 views
2

私はPrabir's Blog (codeplex documentation)のfb.get()メソッドが存在しないので、私は以下のコードを持っています...私はfbのログインページに私を連れて行く認証まですべての方法をテストすることができました私はfb.Get( "/私")をやろうとしています。私はこれに新しいですし、ちょうどガイドに従っています...fb.Get()は存在しませんか?

private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e) 
{ 
    string appId = "xxx"; 
    string[] extendedPermissions = new[] { "publish_stream", "offline_access" }; 

    var oauth = new FacebookOAuthClient { AppId = appId}; 

    var parameters = new Dictionary<string, object> 
    { 
     { "response_type", "token" }, 
     { "display", "popup" } 
    }; 

    if (extendedPermissions != null && extendedPermissions.Length > 0) 
    { 
     var scope = new StringBuilder(); 
     scope.Append(string.Join(",", extendedPermissions)); 
     parameters["scope"] = scope.ToString(); 
    } 

    var loginUrl = oauth.GetLoginUrl(parameters); 

    webBrowser.Navigating += webBrowser_Navigated; 
    webBrowser.Navigate(loginUrl); 
} 

private void webBrowser_Navigated(object sender, NavigatingEventArgs e) 
{ 
    FacebookOAuthResult result=null; 

    if (FacebookOAuthResult.TryParse(e.Uri, out result)) 
    { 
     if (result.IsSuccess) 
     { 
      var accesstoken = result.AccessToken; 
      var fb = new FacebookClient(accesstoken); 

      var results = (IDictionary<string, object>)fb.Get("/me"); 
      var name = (string)results["name"]; 

      MessageBox.Show("Hi " + name); 
     } 
     else 
     { 
      var errorDescription = result.ErrorDescription; 
      var errorReason = result.ErrorReason; 
     } 
    } 
} 
+0

@Lionがそれを固定...これは私のために動作しません – jharr100

答えて

3

代わりにfb.GetAsyncを使用してください。 Window Phone 7は同期方式をサポートしていません。

ソースコードをダウンロードし、 "Samples \ CS-WP7.sln"の例をチェックアウトすることを強くお勧めします。

var fb = new FacebookClient(_accessToken); 

fb.GetCompleted += (o, args) => 
         { 
          if (args.Error == null) 
          { 
           var me = (IDictionary<string, object>)args.GetResultData(); 

           Dispatcher.BeginInvoke(
            () => 
            { 
             FirstName.Text = "First Name: " + me["first_name"]; 
             LastName.Text = "Last Name: " + me["last_name"]; 
            }); 
          } 
          else 
          { 
           Dispatcher.BeginInvoke(() => MessageBox.Show(args.Error.Message)); 
          } 
         }; 

fb.GetAsync("me"); 
+0

は、あなたが 'FirstName.Text'と' LastName.Text'が何であるかについて、より具体的なことができますか? – Michael

+0

FirstNameとLastNameはテキストボックスです。 – prabir

関連する問題