excel - 需要请求令牌、授权和访问令牌的 VBA API GET
问题描述
我正在尝试从需要您请求令牌、授权应用程序、获取他们请求所需数据的访问令牌的站点获取数据。
这是提供的说明:
使用 API
从 support@example.com 获取 API 密钥和 API 机密(密码)。
进行 API 调用并获取请求令牌。GET https://live.example.com/api/v1/oauth/request_token 您的请求应具有以下标头: Authorization: OAuth oauth_version="1.0", oauth_signature_method="PLAINTEXT", oauth_consumer_key="[app-key]" , oauth_signature="[app-secret]&" 响应正文将是以下 URL 编码的字符串: oauth_token=[request-token]&oauth_token_secret=[request-token-secret] 存储这些以供以后使用。
让用户授权您的应用。将用户的浏览器定向到 https://live.example.com/api/authorize.aspx?oauth_token=[request-token]&oauth_callback=[callback_url]。完成授权过程后,EXAMPLE 将使用包含请求令牌的查询字符串将用户重定向到回调 URL,以便您可以匹配用户并验证他/她是否已授权应用程序。
进行 API 调用以将您的请求令牌转换为访问令牌。GET https://live.example.com/api/v1/oauth/access_token 您的请求应具有以下标头: Authorization: OAuth oauth_version="1.0", oauth_signature_method="PLAINTEXT", oauth_consumer_key="[app-key]" , oauth_token="[request-token]", oauth_signature="[app-secret]&[request-token-secret]" 响应正文将是以下 URL 编码字符串:oauth_token=[access-token>&oauth_token_secret=[ access-token-secret> 存储这些以备后用,您就可以开始使用了。
进行测试 API 调用以检索帐户中的所有项目。获取https://live。example.com/api/v1/items 您的请求应具有以下标头: Authorization: OAuth oauth_version="1.0", oauth_signature_method="PLAINTEXT", oauth_consumer_key="[app-key]", oauth_token="[access-token] ", oauth_signature="[app-secret]&[access-token-secret]"
甚至可以在 VBA 中完成所有这些步骤吗?
我已经能够使用 VBA 从不需要这些额外的令牌集和授权的其他网站获取 API 数据。我尝试将许多不同的代码拼凑在一起,但我没有得到任何结果。
即使只是让第一块拼图(授权)工作也很棒。我在下面放了我为此尝试过的一个版本的代码。
Dim strURL As String
strURL = "https://live.EXAMPLE.com/api/v1/oauth/request_token"
Dim hReq As New WinHttpRequest
hReq.Open "GET", strURL, False
hReq.SetRequestHeader "oauth_version", "1.0"
hReq.SetRequestHeader "oauth_signature_method", "PLAINTEXT"
hReq.SetRequestHeader "oauth_consumer_key", "[KEY-I have this]"
hReq.SetRequestHeader "oauth_signature", "[SECRET-I have this]"
hReq.Send
Dim strResp As String
strResp = hReq.ResponseText
MsgBox strResp
解决方案
推荐阅读
- mongodb - 推送到对象数组中的数组
- spring-boot - 在 SpringBoot 应用程序中为骆驼路由编写单元测试 - 获取 messageCount 0
- angular - Angular 6:在注入任何服务时使用访问修饰符
- google-oauth - 使用 auth_code 流对 https://oauth2.googleapis.com/token 端点的高延迟
- react-native - 如何在第一次渲染时使 react-native 的 flatlist 组件滚动到底部?
- php - 在表格中添加输入表单
- javascript - Fetch HTML element value from json stingrigy value using Javascript
- angularjs - 直接在 URL 中更新参数值时,AngualrJS 路由不起作用
- python - 努力在 Tensorflow 中创建图形文件
- javascript - Moment js multiple formats