curl https://api.sandbox.paypal.com/v1/oauth2/token -H "Accept: application/json" -H "Accept-Language: en_US" -u "A****:E****" -d "grant_type=client_credentials"
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("https://api.sandbox.paypal.com/v1/oauth2/token");
request.Method = "POST";
request.Accept = "application/json";
request.Headers.Add("Accept-Language:en_US")
// this doesn't work:
**request.Credentials = new NetworkCredential("A****", "E****");**
// DO THIS INSTEAD
**string authInfo = Convert.ToBase64String(System.Text.Encoding.Default.GetBytes("A****:E****"));**
**request.Headers["Authorization"] = "Basic " + authInfo;**
using (StreamWriter swt = new StreamWriter(request.GetRequestStream()))
{
swt.Write("grant_type=client_credentials");
}
request.BeginGetResponse((r) =>
{
try
{
HttpWebResponse response = request.EndGetResponse(r) as HttpWebResponse; // Exception here
....
} catch (Exception x) { .... } // log the exception - 401 Unauthorized
}, null);
这是来自Fiddler(原始)捕获的代码的请求,由于某种原因没有授权参数:
POST https://api.sandbox.paypal.com/v1/oauth2/token HTTP/1.1
Accept: application/json
Accept-Language: en_US
Host: api.sandbox.paypal.com
Content-Length: 29
Expect: 100-continue
Connection: Keep-Alive
grant_type=client_credentials
希望下面的代码对任何仍在寻找一块好蛋糕连接到贝宝的人有所帮助。
作为许多人,我已经投入了很多时间试图获得我的贝宝令牌访问没有成功,直到我发现以下:
public class PayPalClient
{
public async Task RequestPayPalToken()
{
// Discussion about SSL secure channel
// http://stackoverflow.com/questions/32994464/could-not-create-ssl-tls-secure-channel-despite-setting-servercertificatevalida
ServicePointManager.ServerCertificateValidationCallback += (sender, cert, chain, sslPolicyErrors) => true;
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;
try
{
// ClientId of your Paypal app API
string APIClientId = "**_[your_API_Client_Id]_**";
// secret key of you Paypal app API
string APISecret = "**_[your_API_secret]_**";
using (var client = new System.Net.Http.HttpClient())
{
var byteArray = Encoding.UTF8.GetBytes(APIClientId + ":" + APISecret);
client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Basic", Convert.ToBase64String(byteArray));
var url = new Uri("https://api.sandbox.paypal.com/v1/oauth2/token", UriKind.Absolute);
client.DefaultRequestHeaders.IfModifiedSince = DateTime.UtcNow;
var requestParams = new List<KeyValuePair<string, string>>
{
new KeyValuePair<string, string>("grant_type", "client_credentials")
};
var content = new FormUrlEncodedContent(requestParams);
var webresponse = await client.PostAsync(url, content);
var jsonString = await webresponse.Content.ReadAsStringAsync();
// response will deserialized using Jsonconver
var payPalTokenModel = JsonConvert.DeserializeObject<PayPalTokenModel>(jsonString);
}
}
catch (System.Exception ex)
{
//TODO: Log connection error
}
}
}
public class PayPalTokenModel
{
public string scope { get; set; }
public string nonce { get; set; }
public string access_token { get; set; }
public string token_type { get; set; }
public string app_id { get; set; }
public int expires_in { get; set; }
}
这段代码对我来说工作得很好,希望你也一样。这些功劳属于帕特尔·哈沙尔,他在这里发布了自己的解决方案。
基本上,当工作流退出时(尤其是在我们不想在所有错误返回中重复调用ActivityCleanupError的错误情况下),我们都要执行catchall活动ActivityCleanupNoError和ActivityCLanupError。 这是否适用于分布式决策?例如,如果工作流决策的所有权从一个工作人员转移到另一个工作人员,是否会触发对原始工作人员的延迟? 额外的问题:日志记录器在每次工作流运行
我有一个SSIS包从网络驱动器加载excel文件。它被设计为加载内容,然后将文件移动到存档文件夹。
我有以下代码: 它返回json结果后的示例,但不返回访问令牌(尽管json_解码)。curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);不返回下面的令牌。谢谢你帮助我。
正如你在下面看到的,我得到了矛盾的结果。感谢所有的帮助。 Firebase控制台查询 Firebase控制台查询结果 密码 代码日志
我最近升级到了优胜美地,我的maven停止了工作。我想这是因为我的环境变量没有设置,所以我按照这篇文章创建了一个environment.plist文件。 通过launchd.conf设置环境变量在OS X Yosemite/El Capitan/MacOS Sierra中不再有效? 但是我仍然在for Maven中找不到命令,并且由于某种原因没有设置$PATH,其他的则设置了 mac-r4498:
问题内容: 有没有人能将C#代码集成到Java应用程序中呢? 代码很小,所以我可以用Java重写,但是如果可能的话,我宁愿重用代码。不要重复自己,等等。 另外,我知道我可以将C#公开为Web服务或其他任何东西,但是其中包含一些安全性/加密功能,因此,我宁愿将其紧密集成。 编辑:它将在基于服务器的应用程序上,因此“下载”另一个运行时是无关紧要的。 问题答案: 有一个IL到Java字节码编译器Gras