c#PayPal Acess Token虽然连接“OK”但没有返回任何内容

时间:2018-02-17 05:14:31

标签: c# .net paypal paypal-sandbox access-token

我使用.net连接到PayPal以获取访问令牌。我正在关注PayPal上提供的纪录片。 https://developer.paypal.com/docs/api/overview/#make-your-first-call

这是我到目前为止所拥有的。主要是从here开始。虽然它连接,但它不返回任何东西。我在Postman上尝试了它,我得到一个带访问令牌的json对象,但这里没有返回任何内容。

HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://api.sandbox.paypal.com/v1/oauth2/token");
request.Headers["Authorization"] = "Basic " + Convert.ToBase64String(Encoding.Default.GetBytes(clientId + ":" + clientSecret));
request.Accept = "application/json";
request.Headers.Add("Accept-Language", "en_US");
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.Timeout = 10000;

byte[] postBytes = Encoding.ASCII.GetBytes("grant_type=client_credentials");

Stream postStream = request.GetRequestStream();
postStream.Write(postBytes, 0, postBytes.Length);
postStream.Flush();
postStream.Close();

HttpWebResponse response = (HttpWebResponse)request.GetResponse();

这是我在断点上得到的。

response.CharacterSet = "" response.ContentLength = 899 response.StatusCode = OK

2 个答案:

答案 0 :(得分:0)

找到答案。以下代码提供了json对象。

Stream streamResponse = response.GetResponseStream();
StreamReader streamRead = new StreamReader(streamResponse);
string responseString = streamRead.ReadToEnd();
Console.WriteLine(responseString); // This will display the answer as JSON, now just parse it. 

答案 1 :(得分:0)

遵循PayPal的.NET SDK Quick Start guide。您可以按照以下步骤进行身份验证并获取访问令牌:

using PayPal.Api;

// Authenticate with PayPal
var config = ConfigManager.Instance.GetProperties();
var accessToken = new OAuthTokenCredential(config).GetAccessToken();