我正在尝试从需要您请求令牌,授权应用程序,获取访问令牌的网站获取数据,以使他们请求所需的数据。
这是提供的说明:
使用API
从support@example.com获取API密钥和API机密(密码)。
进行API调用并获取请求令牌。 获取https://live.example.com/api/v1/oauth/request_token 您的请求应具有以下标头: 授权:OAuth oauth_version =“ 1.0”,oauth_signature_method =“ PLAINTEXT”,oauth_consumer_key =“ [app-key]”,oauth_signature =“ [app-secret]&” 响应主体将是以下URL编码的字符串: oauth_token = [请求令牌]&oauth_token_secret = [请求令牌秘密] 存放它们以备后用。
让用户授权您的应用。将用户的浏览器定向到 https://live.example.com/api/authorize.aspx?oauth_token=[request-token]&oauth_callback=[callback_url]。完成授权过程后,EXAMPLE会将用户重定向到带有包含请求令牌的查询字符串的回调URL,以便您可以匹配用户并验证他/她是否已授权该应用。
进行API调用,将您的请求令牌转换为访问令牌。 获取https://live.example.com/api/v1/oauth/access_token 您的请求应具有以下标头: 授权: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 = [访问令牌>&oauth_token_secret = [访问令牌秘密] 存放这些东西以备后用,您就可以开始使用。
进行测试API调用以从帐户中检索所有项目。获取https://live。 example.com/api/v1/items您的请求应具有以下标头: 授权: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