Facebook登录Windows Phone 8.1

Vas*_*leF 6 c# facebook login windows-phone windows-phone-8.1

我试图找出一个从Windows Phone 8.1应用程序(C#)登录Facebook的简单代码.

由于Facebook ClientNuGet不针对Windows Phone 8.1,我似乎必须编写一些额外的代码.正如我在这篇Facebook帖子中读到的那样,我需要启动一个Uri来调用Login Dialog.那么多,我成功了:

 await Launcher.LaunchUriAsync(FacebookUri.DisplayLoginDialog);
Run Code Online (Sandbox Code Playgroud)

其中DisplayLoginDialog是一个静态字符串对象,其中包含请求所需的必要数据(appId,productId,permissions等).我被重定向到Facebook应用程序,接受我的应用程序需要这样的权限.

我接受了.

所以现在怎么办?我如何得到回复或与之相关的内容access_token?我为此研究了很多,但我找不到相关的帖子.

来自上面的facebook链接,在处理登录对话框的部分说:

如果有人成功登录,则会自动触发您应用的URI关联,这意味着它们将与访问令牌一起发送到您的应用:

msft-{ProductID}://authorize/?
access_token={user-access-token}&
expires_in={expiration-time-of-token}
Run Code Online (Sandbox Code Playgroud)

但我对如何在C#中实际使用它感到困惑.

如何获得与响应access token登录suceeded或后error codeerror message,如果它失败了,就像是写在Facebook发布?

Moh*_*jNK 5

在Package.appxmanifest文件中,转到"声明"选项卡并添加协议声明.

在"名称"字段中,输入您的Microsoft产品ID为"msft-PRODUCT_ID"[产品ID无破折号].

在App.xaml.cs文件中,添加以下代码

    protected override void OnActivated(IActivatedEventArgs args)
    {
        if (args.Kind == ActivationKind.Protocol)
        {
            ProtocolActivatedEventArgs eventArgs = args as ProtocolActivatedEventArgs;

            Uri responseUri = eventArgs.Uri;

           //Now you can use responseUri to retrieve the access token and expiration time of token

        }

        base.OnActivated(args);
    }
Run Code Online (Sandbox Code Playgroud)