2012-02-02 12 views
2

現在のWP7サンプルプロジェクトは機能しますか? 私はこれをダウンロードして、以前のWM6.5アプリから作業することを知っている私のアプリIDと秘密鍵を入力しました。 Facebookのログインページが表示され、ログインしています。 許可を与えるかどうかを尋ねるページが表示されます。WP7 Facebook SDKのサンプルコードが動作しない

「access_token」キーを探している間、コードはKeyNotFoundExceptionをスローします。 (objectname.ContainsKey(「access_code」))場合、私は、私は、このキーを検索するために作られている試みを見ることができるどこでもこれを入れている

...

を、:私は、コードを浴びせてきました無駄に。コードは同じポイントでまだエラーがあります。

このサンプルコードは最後に正常にテストされたので、Facebookの面で何か変わったことはありますか?私は何かしなければならないことがありますか?

感謝

+0

あり、FacebookのAPIへの最近の変更があったが、トークンの名前に影響を与えません。使用しているコード(およびサンプル)のバージョンを確認できますか? –

答えて

0

あなただけでログインしている場合必要なパラメータはaccess_codeではありません。

ログイン試行後にフラグメントの一部として返されるaccess_tokenを使用する必要があると思われます。

1

ここでは、Facebook SDKをWP7で使用する例を示します。 基本的に私はMainPage.xamlでwebBrowser1を取得しましたが、デフォルトでは非表示になっています。背後

コード:

void MainPage_Loaded(object sender, RoutedEventArgs e) 
{ 

      string appId = ""; 
      string[] extendedPermissions = new[] { "publish_stream", "offline_access", "user_groups" }; 

      var oauth = new FacebookOAuthClient { AppId = appId }; 

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

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

      var loginUrl = oauth.GetLoginUrl(parameters); 
      webBrowser1.Navigate(loginUrl); 
      webBrowser1.Visibility = System.Windows.Visibility.Visible; 
      webBrowser1.Navigated += webBrowser1_Navigated; 
} 
void webBrowser1_Navigated(object sender, System.Windows.Navigation.NavigationEventArgs e) 
    { 
     FacebookOAuthResult result; 
     if (FacebookOAuthResult.TryParse(e.Uri.AbsoluteUri, out result)) 
     { 
      if (result.IsSuccess) 
      { 
       string _accessToken = result.AccessToken; 
       webBrowser1.Visibility = System.Windows.Visibility.Collapsed; 
      } 
      else 
      { 
       var errorDescription = result.ErrorDescription; 
       var errorReason = result.ErrorReason; 
      } 
     } 
    } 
関連する問題