XL 2016 VBA WinHttpRequest API

Jass932

XLDnaute Nouveau
bonjour,

je suis bloqué sur l'un de mes codes vba. j'essaie de récupérer des données via une api. mais mon code ci-dessous ne marche pas, le code ci-dessus n'est qu'un exemple pour récupérer les cours de bourse de microsoft je ne vois pas l'erreur. Pourriez-vous m'aider?

Function api() As Variant
Dim url As String
Dim cle As String
Dim request As WinHttpRequest

url = "https://rapidapi.com/alphavantage/api/alpha-vantage/"
cle = cleapi()
parametre = "function=TIME_SERIES_DAILY&symbol=MSFT"
request.Open "GET", url & parametre
request.SetRequestHeader "X-RapidAPI-Host", "alpha-vantage.p.rapidapi.com"
request.SetRequestHeader "X-RapidAPI-Key", cle

request.Send

Debug.Print request
 

Jass932

XLDnaute Nouveau
Bonjour,

Merci de votre aide. Ci-dessous le code actuellement. A la fin du code j'obtiens ce message d'erreur. Je ne vois pas trop comment regler ce probleme.
image001.png


Sub api()

Dim url As String

Dim cle As String

Dim parametre As String

Dim request As WinHttpRequest

Set request = New WinHttpRequest

url = "https://rapidapi.com/alphavantage/api/alpha-vantage/"

parametre = "?Function=TIME_Series_Dayli&symbol=MSFT"

cle = cleapi

request.Open "GET", url & parameters

request.SetRequestHeader "X-RapidAPI-Host", "alpha-vantage.p.rapidapi.com"

request.SetRequestHeader "X-RapidAPI-Key", cle

request.Send

Debug.Print request.StatusText

End Sub
 

fanch55

XLDnaute Barbatruc
Bonsoir,
Le code ci-dessous fonctionne sur mon Pc .
Assurez-vous d'avoir une clé d'accès valide sur le site,
celle qui est indiquée est une clé temporaire personnelle,
je ne sais pas combien de temps elle restera valide .
VB:
Sub api()

Dim url As String
Dim cle As String
Dim parametre As String
Dim request As WinHttpRequest

Set request = New WinHttpRequest
url = "https://alpha-vantage.p.rapidapi.com/"

parametre = "query?function=TIME_SERIES_DAILY&symbol=MSFT&outputsize=compact&datatype=csv"

cle = "ac4460a83emshcb214093cc18a63p1f0a09jsnc26cc5a29252"

request.Open "GET", url & parametre
    request.SetRequestHeader "X-RapidAPI-Host", "alpha-vantage.p.rapidapi.com"
    request.SetRequestHeader "X-RapidAPI-Key", cle
request.Send

If request.Status = 200 Then
    Dim Buffer As Variant, R As Long, V As Variant, Nv As Integer
    Cells.ClearContents
    Buffer = Trim(request.ResponseText)
    For Each Line In Split(Buffer, vbCrLf)
        R = R + 1
        V = Split(Line, ","): If Nv = 0 Then Nv = UBound(V)
        Range("A" & R).Resize(, Nv).Value = V
    Next
    Range(Cells(1, 1), Cells(R, Nv)) = Range(Cells(1, 1), Cells(R, Nv)).Value
Else
    MsgBox request.Status & " " & request.StatusText & vbLf & request.ResponseText
End If

End Sub
 

Statistiques des forums

Discussions
315 096
Messages
2 116 173
Membres
112 677
dernier inscrit
Justine11