Plugin.FacebookClient 发布到 Facebook 后什么都不做
Plugin.FacebookClient do nothing after posting to Facebook
我是 Xamarin 的新手,我正在 PCL (Xamarin.Forms) 中开发一个应用程序,其中包括登录和 post 使用 Facebook。我正在使用 Plugin.FacebookClient 进行 cross-platform 开发。我尝试 post 一张带标题的图片,无论我是否安装了 Facebook 应用程序,post 完成并且我可以从我的浏览器中看到 post(作为帐户的朋友我曾经 post)。我需要在 post 之后向我的应用程序显示一条消息,但是当 post 完成时,没有任何反应。没有日志,没有 return 消息。当 post 取消或出错时,我在我的应用程序中收到了控制台日志和消息。我的分享代码:
private IFacebookClient _facebookService = CrossFacebookClient.Current;
private async Task<string> PostFb(byte[] data, string text)
{
try
{
string postMessage = string.Empty;
FacebookSharePhoto photo = new FacebookSharePhoto(text, data);
FacebookSharePhoto[] photos = new FacebookSharePhoto[] { photo };
FacebookSharePhotoContent photoContent = new FacebookSharePhotoContent(photos, null, text);
Console.WriteLine("Uploading...");
var result = await _facebookService.ShareAsync(photoContent);
_facebookService.OnSharing += (s, a) =>
{
switch (a.Status)
{
case FacebookActionStatus.Completed:
postMessage = "Completed";
break;
case FacebookActionStatus.Canceled:
postMessage = "Canceled";
break;
case FacebookActionStatus.Unauthorized:
postMessage = result.Message;
break;
case FacebookActionStatus.Error:
postMessage = result.Message;
break;
}
};
return postMessage;
}
catch (Exception ex)
{
Console.WriteLine("Post FB: " + ex.ToString());
}
return "Something's wrong";
}
我之前没有使用事件处理程序,但仍然没有任何反应。 try catch 中也没有任何显示。我的应用程序没有冻结,只是什么也没做。我调用该函数的代码:
string postFbmessage = await PostFb(imageArray, Message);
UserDialogs.Instance.Alert("FacebookPost message: " + postFbmessage);
Console.WriteLine("FacebookPost message: " + postFbmessage);
我确实尝试搜索 GitHub 个问题,但它说问题已经解决。我删除了应用程序缓存,清理构建,重试,但仍然没有任何反应。谁能告诉我哪里出了问题?很抱歉英语不好,希望你能明白我的意思。
编辑: this one,他们已经在其中合并了修复程序。谢谢你提醒我 Jason
谢谢杰森在评论区提醒我。他们确实解决了问题,但它仍在 pre-release version 中。我更新了我的 NuGet 包,没有任何问题。
我是 Xamarin 的新手,我正在 PCL (Xamarin.Forms) 中开发一个应用程序,其中包括登录和 post 使用 Facebook。我正在使用 Plugin.FacebookClient 进行 cross-platform 开发。我尝试 post 一张带标题的图片,无论我是否安装了 Facebook 应用程序,post 完成并且我可以从我的浏览器中看到 post(作为帐户的朋友我曾经 post)。我需要在 post 之后向我的应用程序显示一条消息,但是当 post 完成时,没有任何反应。没有日志,没有 return 消息。当 post 取消或出错时,我在我的应用程序中收到了控制台日志和消息。我的分享代码:
private IFacebookClient _facebookService = CrossFacebookClient.Current;
private async Task<string> PostFb(byte[] data, string text)
{
try
{
string postMessage = string.Empty;
FacebookSharePhoto photo = new FacebookSharePhoto(text, data);
FacebookSharePhoto[] photos = new FacebookSharePhoto[] { photo };
FacebookSharePhotoContent photoContent = new FacebookSharePhotoContent(photos, null, text);
Console.WriteLine("Uploading...");
var result = await _facebookService.ShareAsync(photoContent);
_facebookService.OnSharing += (s, a) =>
{
switch (a.Status)
{
case FacebookActionStatus.Completed:
postMessage = "Completed";
break;
case FacebookActionStatus.Canceled:
postMessage = "Canceled";
break;
case FacebookActionStatus.Unauthorized:
postMessage = result.Message;
break;
case FacebookActionStatus.Error:
postMessage = result.Message;
break;
}
};
return postMessage;
}
catch (Exception ex)
{
Console.WriteLine("Post FB: " + ex.ToString());
}
return "Something's wrong";
}
我之前没有使用事件处理程序,但仍然没有任何反应。 try catch 中也没有任何显示。我的应用程序没有冻结,只是什么也没做。我调用该函数的代码:
string postFbmessage = await PostFb(imageArray, Message);
UserDialogs.Instance.Alert("FacebookPost message: " + postFbmessage);
Console.WriteLine("FacebookPost message: " + postFbmessage);
我确实尝试搜索 GitHub 个问题,但它说问题已经解决。我删除了应用程序缓存,清理构建,重试,但仍然没有任何反应。谁能告诉我哪里出了问题?很抱歉英语不好,希望你能明白我的意思。
编辑: this one,他们已经在其中合并了修复程序。谢谢你提醒我 Jason
谢谢杰森在评论区提醒我。他们确实解决了问题,但它仍在 pre-release version 中。我更新了我的 NuGet 包,没有任何问题。