vba - 如何在 VBA 中传递 API 密钥以获取和发布请求?
问题描述
我正在使用https://developer.companieshouse.gov.uk/api/docs/访问 API 我有我的 API 密钥,但是,我不确定如何从 VBA 传递它。到目前为止,我在下面尝试过
AuthKey = [Key received]
With CreateObject("Microsoft.XMLHTTP")
.Open "GET", strUrl, False, authKey
.SetRequestHeader "Content-Type", "application/json"
.SetRequestHeader "Accept", "application/json"
.SetRequestHeader "Authorization", "Basic " & AuthKey
.Send
response = .ResponseText
End With
当我从他们的测试页面https://developer.companieshouse.gov.uk/document/docs/document/id/content/fetchDocument.html尝试时,它运行良好,当我转到授权密钥不同的开发工具时,我想我我缺少一些编码。有人可以帮忙吗
谢谢
解决方案
基本身份验证要求用户名和密码一起进行 base 64 编码。您需要传递的 AuthKey 本质上是:
def unencoded_auth = "[username]:[authkey]"
def encoded_auth = *call-to-base64-encode-value*(unencoded_auth)
然后你会更换
"Basic " & AuthKey
和
"Basic " & encoded_auth
我将参考这篇文章来了解如何实现 base64 编码。
推荐阅读
- ansible - Ansible 版本比较失败
- javascript - 如果满足条件,记录用户输入
- java - 如何从java中的单个函数返回两个相同数据类型的值?
- outlook - 卸载后如何恢复 Outlook 电子邮件?
- java - 如何使用 Java 中的 Jupiter 测试返回新实例的实用程序方法?
- java - 我正在尝试使用 spring boot 执行一个简单的 crud 操作 findall(),它没有任何错误或警告,但给出了 NULL 异常
- javascript - 如果 else 语句,您将如何优化此 javascript
- testing - TestCafe 可见性检查技术
- google-cloud-platform - 在 AI Platform 中训练后,我在哪里可以找到 model.bst 或其他模型文件?
- .net - 如何在.net 数据库项目中保留数据的同时更改列类型?