Is there a way to know whether you have 'publish_actions' on Facebook?

Hello,

I am making a game in Unity.
I am developing a module to allow the users to post on Facebook different feeds like highscore, or achievements.

After log in, I am trying to gain ‘publish_actions’ permission from the user to allow my game to post on his/her behalf to his wall.

So,my question is, Is there a way to know whether you have ‘publish_actions’ permission from the user?

What if the user logs in and when I ask permission to publish on their behalf, they cancel it?
Is there a way to know that the user cancelled it?

private void CallFBLoginForPublish()//FBResult result)
	{
		FB.Login("publish_actions", PublishLoginCallback);
	}
	
	void PublishLoginCallback(FBResult result)
	{
		if (result.Error != null){
			lastResponse = "Error Response:

" + result.Error;
m_action = FBActions.NullAction;
}
else if (!FB.IsLoggedIn)
{
lastResponse = “Publish cancelled by Player”;
m_action = FBActions.NullAction;
}
else
{
lastResponse = “Publish was successful!”;
}
}

When I call ‘CallFBLoginForPublish’, even if the user denies the permission, it gives me no error, because the user is already logged in.

Thanks in advance.

In v7 and above there is an AccessToken class you can use to check the list of granted permissions after a Login call.

For example:

FB.LogInWithPublishPermissions(
    new List<string>() { "publish_actions" },
    delegate(ILoginResult result)
    {
        if (FB.IsLoggedIn &&
        AccessToken.CurrentAccessToken.Permissions.Contains("publish_actions"))
		{
			Debug.Log("we have publish actions");
		}
    });

Additionally though, users can remove permissions in their Facebook settings after granting access to your app. To check the most up-to-date list of permissions you can make a Graph API call to /me/permissions which returns a list of granted permissions.