0

我正在寫一個集成了facebook的windows手機遊戲。我有個問題。Facebook的api登錄成功,但沒有返回成功紙

我用正確的用戶名/密碼登錄後。它顯示:

「...想訪問您的公開個人資料...」。

然後按OK。然後另一條消息:

「....想以您的名義發帖」。

還行。它導航到m.facebook.com/dialog/oauth/write - 一張白紙。沒有成功的文件或訪問令牌返回。 然後我再次調試。登錄後,它導航到Success文件和訪問令牌。

我的問題是爲什麼?有什麼方法可以跳過.... would like to post on your behalf消息。


這是我的代碼

private void myWeb_Loaded(object sender, RoutedEventArgs e) 
    { 
     var parameters = new Dictionary<string, object>(); 

     parameters["client_id"] = appID; 
     parameters["redirect_uri"] = "https://www.facebook.com/connect/login_success.html"; 
     parameters["response_type"] = "token"; 
     parameters["display"] = "popup"; 
     parameters["scope"] = extendedPermissions; 

     Uri loginUri = _fbClient.GetLoginUrl(parameters); 

     this.myWeb.Navigate(loginUri); 
    } 

private void myWeb_Navigated(object sender, System.Windows.Navigation.NavigationEventArgs e) 
    { 
     MessageBox.Show(e.Uri.AbsoluteUri); 
     //myText.Text = e.Uri.AbsoluteUri; 
     FacebookOAuthResult oauthResult; 
     if (_fbClient.TryParseOAuthCallbackUrl(e.Uri, out oauthResult)) 
     { 
      if (oauthResult.IsSuccess) 
      { 
       AccessToken = oauthResult.AccessToken; 

       MessageBox.Show("Login success!\n" + AccessToken); 
       NavigationService.Navigate(new Uri("/TestPape.xaml?token="+AccessToken, UriKind.Relative)); 
      } 
     } 
     else 
     { 
      // The url is NOT the result of OAuth 2.0 authentication. 
      return; 
     } 
    } 
+0

向我們展示您用於登錄的一些代碼。 –

回答

0

是否有某種方式來跳過....想發佈您的名義

您已添加權限publish_action/publish_stream登錄時,這就是爲什麼它顯示第二個權限窗口。如果在您的應用程序中,您代表用戶張貼供稿,則需要這些權限由用戶授予;但如果你不想發佈任何東西,你可以刪除這些權限。

+0

我試着刪除這些權限。沒有第二個權限窗口,它仍然使用白紙導航到「m.facebook.com/dialog/oauth/write」。 –

+0

不要用這種方式登錄,它適合網頁。點擊此鏈接 - http://facebooksdk.net/。非常簡單的步驟,例子以及將facebook與您的應用程序集成的好方法。 PS。如果幫助,請接受這個答案。乾杯! –

+0

是的。這些示例應用完美無缺!我會嘗試! –