private bool InitializeFacebookClient()
{
// upload to facebook
Logger.Info("Connecting to Facebook");
facebookClient = new FacebookClient(Properties.Settings.Default.FacebookAccessToken);
facebookClient.PostCompleted += new EventHandler<FacebookApiEventArgs>(facebookClient_PostCompleted);
facebookClient.UploadProgressChanged += new EventHandler<FacebookUploadProgressChangedEventArgs>(facebookClient_UploadProgressChanged);
#region make sure access token is still valid
try
{
FacebookHelper.TriggerFacebookConnect(facebookClient);
return true;
}
catch (FacebookOAuthException)
{ // token expired
Logger.Error("Facebook access token expired!");
Properties.Settings.Default.FacebookAccessToken = "";
Properties.Settings.Default.Save();
PublishWorkerResult = PublishWorkerResults.UnableToAuthenticate;
facebookClient = null;
return false;
/* we don't do this here because we can't launch form from background thread
var facebookHelper = new FacebookHelper();
if (facebookHelper.LoginToFacebook() == false)
{
Logger.Error("User cancelled Facebook authentication.");
PublishWorkerResult = PublishWorkerResults.UnableToAuthenticate;
return;
}
// they tried logging in, let's see if it worked this time
try
{
facebookClient.Get("me/friends");
}
catch (FacebookOAuthException)
{
Logger.Error("Still couldn't authenticate, even after logging in again.");
PublishWorkerResult = PublishWorkerResults.UnableToAuthenticate;
return;
}
*/
}
#endregion make sure access token is still valid
}