paypal - vbscript xmlhttp 完成客户端认证需要证书
问题描述
我正在尝试使用我认为在 VBS 中等效的 cURL 来获取 Paypal 访问令牌。这是我正在尝试https://developer.paypal.com/docs/api/get-an-access-token-curl/的 cURL 帖子 ,这是我正在使用的 VBScript 代码
<%
Dim Base64, ClientID, Secret
ClientID = "ClientID"
Secret = "Secret"
Base64 = "Base64"
Dim XMLHTTP : Set XMLHTTP = CreateObject("MSXML2.ServerXMLHTTP.6.0")
XMLHTTP.setOption 2, 13056
XMLHTTP.Open "POST", "https://api.sandbox.paypal.com/v1/oauth2/token", False, ClientID, Secret
XMLHTTP.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
XMLHTTP.setRequestHeader "Accept", "application/json"
XMLHTTP.setRequestHeader "Accept-Language", "en_US"
XMLHTTP.setRequestHeader "Authorization", "Basic " & Base64
XMLHTTP.Send("grant_type=client_credentials")
服务器返回的错误是:
msxml6.dll error '80072f0c'
A certificate is required to complete client authentication
Paypal.asp, line 13
我知道还有一个XMLHTTP.setOption 3, "LOCAL_MACHINE\My\api.sandbox.paypal.com"
也可以添加到代码中,但是从我在文档中看到的内容来看,我不需要在服务器上安装任何证书。
[ 编辑 ]
这是解释此修复如何工作的代码。您可以使用自己的证书,它不需要是自签名证书,重要的部分是使用第 2 步。为证书分配权限以授予 Web 服务器使用该证书的权限。
<%
Dim Base64, ClientID, Secret
ClientID = "ClientID"
Secret = "Secret"
Base64 = "Base64"
Dim XMLHTTP : Set XMLHTTP = CreateObject("MSXML2.ServerXMLHTTP.6.0")
XMLHTTP.setOption 2, 13056
XMLHTTP.setOption 3, "LOCAL_MACHINE\My\example.za.live" ' **Added**
XMLHTTP.Open "POST", "https://api.sandbox.paypal.com/v1/oauth2/token", False, ClientID, Secret
XMLHTTP.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
XMLHTTP.setRequestHeader "Accept", "application/json"
XMLHTTP.setRequestHeader "Accept-Language", "en_US"
XMLHTTP.setRequestHeader "Authorization", "Basic " & Base64
XMLHTTP.Send("grant_type=client_credentials")
解决方案
推荐阅读
- javascript - Javascript - 重复使用函数而不删除以前的实例?
- c - 如何解释 ELF 文件中的“p_size”?
- regex - 正则表达式:检查字符串开头的字符
- reactjs - 为什么我在 reactjs 路由中得到相同 url 的两个结果?
- sql - sql substr变量url提取过程
- c# - 尝试使用 asp.net core 2.0 创建一个 excel 页面
- python - 是什么让 Python 中的虚拟环境成为虚拟环境?
- python - 在 R 中解析用户代理但如何使用 python?
- python - 如何正确记录查询参数(搜索、过滤)Django Rest Framework?
- jquery - 如何在jquery中显示默认的今天日期和未来日期禁用