GetApplicationAccessTokenAsync() public method

Gets the application access token asynchronously.
public GetApplicationAccessTokenAsync ( ) : void
return void
Ejemplo n.º 1
0
        /// <summary>
        /// Gets the application access token asynchronously.
        /// </summary>
        /// <param name="facebookOAuthClient">The Facebook OAuth Client.</param>
        /// <param name="parameters">The parameters.</param>
        /// <returns>The task of the result.</returns>
        public static Task <object> GetApplicationAccessTokenTaskAsync(this FacebookOAuthClient facebookOAuthClient, IDictionary <string, object> parameters)
        {
            var tcs = FacebookClientTaskExtensions.CreateSource <object>(null);

            EventHandler <FacebookApiEventArgs> handler = null;

            handler = (sender, e) => FacebookClientTaskExtensions.TransferCompletionToTask <object>(tcs, e, () => e.GetResultData(), () => facebookOAuthClient.GetApplicationAccessTokenCompleted -= handler);

            facebookOAuthClient.GetApplicationAccessTokenCompleted += handler;

            try
            {
                facebookOAuthClient.GetApplicationAccessTokenAsync(parameters, tcs);
            }
            catch
            {
                facebookOAuthClient.GetApplicationAccessTokenCompleted -= handler;
                tcs.TrySetCanceled();
                throw;
            }

            return(tcs.Task);
        }