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 code和error message,如果它失败了,就像是写在Facebook发布?
在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)