/// <summary> /// Creates an Access Token from an Authorization Code. /// <param name="apiContext">APIContext to be used for the call.</param> /// <param name="createFromAuthorizationCodeParameters">Query parameters used for API call</param> /// </summary> public static Tokeninfo CreateFromAuthorizationCode(APIContext apiContext, CreateFromAuthorizationCodeParameters createFromAuthorizationCodeParameters) { string pattern = "v1/identity/openidconnect/tokenservice?grant_type={0}&code={1}&redirect_uri={2}"; object[] parameters = new object[] { createFromAuthorizationCodeParameters }; string resourcePath = SDKUtil.FormatURIPath(pattern, parameters); string payLoad = resourcePath.Substring(resourcePath.IndexOf('?') + 1); resourcePath = resourcePath.Substring(0, resourcePath.IndexOf("?")); Dictionary <string, string> headersMap = new Dictionary <string, string>(); if (createFromAuthorizationCodeParameters.getClientId() != null && createFromAuthorizationCodeParameters.getClientSecret() != null) { OAuthTokenCredential oauthTokenCredential = new OAuthTokenCredential(createFromAuthorizationCodeParameters.getClientId(), createFromAuthorizationCodeParameters.getClientSecret()); headersMap.Add("Authorization", oauthTokenCredential.GenerateBasicAuthHeader()); } headersMap.Add("Content-Type", "application/x-www-form-urlencoded"); return(PayPalResource.ConfigureAndExecute <Tokeninfo>(apiContext, HttpMethod.POST, resourcePath, headersMap, payLoad)); }