Bereitstellung von Authentifizierungsinformationen über msxml2.ServerXMLHTTP
Ich verwende Classic ASP und versuche, die JustGiving-API zu verwenden.
Ich möchte es verwenden, um den Gesamtbetrag und den Gesamtbetrag der eingegangenen Spenden auf meiner Spendenseite auf meiner Website anzuzeigen.
Ich kann sehen, dass Informationen verfügbar sind über:https://api.justgiving.com/docs/resources/v1/Account/Retrieve
<%
vurl = "http://api.justgiving.com/---myIDhere---/v1/account"
Set http = Server.CreateObject("msxml2.ServerXMLHTTP")
http.Open "GET", vurl, False
http.Send
Set dom = Server.CreateObject("msxml2.DOMDocument")
dom.loadXML http.responseText
Set items = dom.getElementsByTagName("account")
For Each item In items
Set var_totalDonated = item.getElementsByTagName("totalDonated")
If NOT (var_totalDonated IS Nothing) Then
var_totalDonated = ap(totalDonated(0).Text)
response.write var_totalDonated
End If
Next
%>
Die Seite läuft jedoch ab, wenn ich darauf zugreife.
Ich denke, das liegt daran, dass ich einige Authentifizierungsinformationen wie hier beschrieben bereitstellen muss:https://api.justgiving.com/docs/usage#protectedResources
Also habe ich diese Authentifizierungsinformationen erhalten.
Ich habe jedoch keine Ahnung, wie ich es an die API "senden" soll, damit es mich als Benutzer authentifizieren und die Informationen bereitstellen kann.
Es wird auch erwähnt, dass über den obigen Link Informationen zum Header bereitgestellt werden (ich kann den Link nicht posten, da ich nicht genügend Reputation habe). Ersetzen Sie jedoch #protectedResources am Ende der URL durch #contentTypes.
Es tut mir leid - vermisse ich auch etwas auf dieser Seite?
Es tut mir leid, wenn ich alberne Fragen stelle, aber die Informationen in den API-Dokumenten setzen ein gewisses Maß an Intelligenz seitens des Benutzers voraus und ich habe nicht viel davon!
Jeder Rat sehr geschätzt.
Vielen Dank
Vielen Dank an John für deine Antwort.
Darauf basierend habe ich den Code folgendermaßen geändert:
<%
vurl = "https://api.justgiving.com/API_KEY/v1/account"
Set http = Server.CreateObject("msxml2.ServerXMLHTTP")
http.Open "GET", vurl, False, "username", "pwd"
http.setTimeouts 5000, 5000, 10000, 10000 ''ms - resolve, connect, send, receive
http.setRequestHeader "Authorization", "Basic MY_AUTH_STRING"
http.Send
Set dom = Server.CreateObject("msxml2.DOMDocument")
dom.loadXML http.responseText
Set items = dom.getElementsByTagName("account")
For Each item In items
Set var_totalDonated = item.getElementsByTagName("totalDonated")
If NOT (var_totalDonated IS Nothing) Then
var_totalDonated = (var_totalDonated(0).Text)
response.write var_totalDonated
End If
Next
%>
Aber leider läuft die Seite immer noch aus.
Ich überprüfe auch über: groups.google.com/forum/#!topic/justgiving-api/Xhz5Fkxuy1s
Bisher keine Antwort.
Danke noch einmal
Feste Version<%
Sub debug( varName )
Dim varValue
varValue = Eval( varName )
response.write "<p style='margin:10px; border-bottom:2px solid #ccc;border-top:1px solid #eaeaea;background-color:white;padding:10px;color:red;text-align:left;'><strong>" & varName & "</strong>: " & varvalue & "</p>" & vbcrlf & vbcrlf
End Sub
vurl = "https://api.justgiving.com/AP_KEY/v1/account"
Set http = Server.CreateObject("msxml2.ServerXMLHTTP")
http.Open "GET", vurl, False, username, password
http.setTimeouts 5000, 5000, 10000, 10000 'ms - resolve, connect, send, receive
http.setRequestHeader "Authorization", "Basic AUTH_STRING"
http.Send
Response.ContentType = "application/xml"
Set dom = Server.CreateObject("msxml2.DOMDocument")
dom.loadXML http.responseText
Set items = dom.getElementsByTagName("account")
For Each item In items
Set var_totalDonated = item.getElementsByTagName("totalDonated")
If NOT (var_totalDonated IS Nothing) Then
var_totalDonated = ap(var_totalDonated(0).Text)
debug "var_totalDonated"
End If
Set var_totalRaised = item.getElementsByTagName("totalRaised")
If NOT (var_totalRaised IS Nothing) Then
var_totalRaised = ap(var_totalRaised(0).Text)
debug "var_totalRaised"
End If
Set var_totalGiftAid = item.getElementsByTagName("totalGiftAid")
If NOT (var_totalGiftAid IS Nothing) Then
var_totalGiftAid = ap(var_totalGiftAid(0).Text)
debug "var_totalGiftAid"
End If
Next
%>
Bisher habe ich verwendet:
vurl = "https://api.justgiving.com/AP_KEY/v1/account"
Aber als ich es auf https änderte, funktionierte es.
Ich dachte, ich hätte das vorher versucht, aber offensichtlich nicht.
Nochmals vielen Dank an John, ich bedanke mich sehr für Ihre Hilfe!