0

簡単なFacebookログインを作成しようとしています。を入れてSystem.Windows.Controls.WebBrowserからナビゲートする新しいウィンドウがあります

https://www.facebook.com/dialog/oauth?client_id=YOUR_APP_ID&redirect_uri=https://www.facebook.com/connect/login_success.html&response_type=トークン

しかし、ログインするとリダイレクトされます

https://www.facebook.com/connect/login_success.html

トークンが必要ですが、System.Windows.Controls.WebBrowserコントロールの Source プロパティでは完全な URL が得られないため、

https://www.facebook.com/connect/login_success.htmlそれ以外のhttps://www.facebook.com/connect/login_success.html#access_token=THE_TOKEN&expires_in=7180

4

2 に答える 2

3

この回答 (MSDN) を見てください。問題は解決すると思います。必要になるだろう:

<Window x:Class="WpfApplicationTest.Window1"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:wf="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"
        xmlns:wfi="clr-namespace:System.Windows.Forms.Integration;assembly=WindowsFormsIntegration"
        Title="Window2" Height="300" Width="300">
     <StackPanel>
        <wfi:WindowsFormsHost>
            <wf:WebBrowser Navigated="WebBrowser_Navigated" x:Name="wfwb"/>
        </wfi:WindowsFormsHost>
     </StackPanel>
</Window>
于 2012-08-28T13:14:54.607 に答える
0

C#のfacebook.dllへの参照を追加して、webbrowser.Navigatedイベントを作成するだけです-私にとってはうまくいきます

private void m_WebBrowser_Navigated(object sender, NavigationEventArgs e)
    {
        Uri url = e.Uri;
        FacebookOAuthResult result;
        dynamic fb = new FacebookClient();

        if (fb.TryParseOAuthCallbackUrl(url, out result))
        {
            if (result.IsSuccess)
            {
                AccessToken = result.AccessToken;
                Window window = Window.GetWindow(this);
                window.Close();                    
            }
            else
            {
                var errorDescription = result.ErrorDescription;
                var errorReason = result.ErrorReason;
            }
        }
    }
于 2013-09-05T18:33:43.073 に答える