我正在创建一个Windows Phone 8.1 RT应用程序。我已经安装了facebook和facebook.client sdks来设置登录和共享目的。出于登录目的,我已按照上述here的步骤进行操作。
My App.xaml.cs OnActivated函数如下所示:
protected override void OnActivated(IActivatedEventArgs args)
{
base.OnActivated(args);
var protocolArgs = args as ProtocolActivatedEventArgs;
if (protocolArgs != null)
{
LifecycleHelper.FacebookAuthenticationReceived(protocolArgs);
}
Session.OnFacebookAuthenticationFinished += OnFacebookAuthenticationFinished;
}
这里是OnFacebookAuthenticationFinished方法
private async void OnFacebookAuthenticationFinished(AccessTokenData session)
{
await Session.CheckAndExtendTokenIfNeeded();
if (Constant.fbSignup)
{
User fbUser = new User();
Account userAccount = new Account();
try
{
FacebookClient fbClient = new FacebookClient(session.AccessToken);
dynamic result = await fbClient.GetTaskAsync("me?fields=id,first_name,last_name,email,location");
fbUser.FirstName = result.first_name;
fbUser.LastName = result.last_name;
userAccount.UserName = result.email;
fbUser.UserAccount = userAccount;
//fbUser.City = result.location.name;
Constant.User = fbUser;
RootFrame.Navigate(typeof(SignUpPage));
}
catch (Exception ex)
{
await new MessageDialog(ex.Message).ShowAsync();
}
}
登录正常。
现在我想使用Session.ShowFeedDialog()分享一些内容。我已按照提到的here步骤在对话框中创建AppRequests。 我从一个StoreDetailsPage.xaml.cs页面调用ShowFeedDialog方法 以下所有代码都在StorePageDetails.xaml.cs
中Session.ShowFeedDialog("", link, linkDescription, linkCaption);
发布也很好。但我需要检查帖子是否成功。为此,我尝试了
Session.OnFacebookFeedFinished = Success;
成功的地方
public delegate void FacebookDelegate(FBResult result);
void Success(FBResult result)
{
//Code to check if post was successful
}
所以我的问题是在关闭ShowFeedDialog之后调用OnActivated事件并且永远不会达到或不调用成功委托方法。 我之前没有使用过代表,所以我不知道那里是否有什么问题。此外,由于我无法进入此功能,我还没有弄清楚后验证的逻辑应该是什么。所以任何建议都将非常感谢