2012-02-02 83 views
2

當前WP7示例項目是否有效? 我已經下載它並輸入了我的應用程序ID和密鑰,我知道該密鑰是從以前的WM6.5應用程序工作的。 我收到了Facebook登錄頁面,然後登錄。 我收到頁面,詢問我是否想授予權限,我這樣做。WP7 Facebook SDK示例代碼不起作用

代碼然後在查找「access_token」鍵時拋出KeyNotFoundException。我一直穿插着代碼:

如果(objectname.ContainsKey(「access_code」)) ...

我已經把這個到處都可以看到正在嘗試去尋找這個關鍵,無濟於事。該代碼仍然在同一點錯誤。

自從這個示例代碼上次測試成功後,臉書上的內容有了變化嗎?還有什麼我應該做的?

非常感謝

+0

有一個最近對Facebook的API的變化,但不影響標記名稱。你能確認你使用的是哪個版本的代碼(和樣本)。 – 2012-02-02 01:54:07

回答

0

如果你只是在記錄那麼就沒有你需要的稱爲access_code的參數。

我懷疑你需要使用access_token這是在登錄嘗試後作爲片段的一部分返回的。

1

下面是如何在WP7中使用Facebook SDK的示例。 所以基本上我在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; 
      } 
     } 
    }