Hallo Leute,
lange hat man von mir nix gelesen, jetzt brauch ich mal wieder Unterstützung, natürlich mit einer API-Schnittstelle... das KackDing bringt mich um den Verstand...
Es gibt eine offizielle API-Doku zu OpenProject... siehe Link
Da hier genug im Forum sind, die auch mal über den Tellerrand hinausschauen, ist auch bestimmt jemand dabei der Openproject auch nutzt und sicherlich auch da etwas automatisiert hat...
Ziel ist es sogenannte Work-Packages (Arbeitspakete) in dem Projekt (hier ist es Project 4, wie man dem $link entnehmen kann) anzulegen.
API-Key und Hostname habe ich verfremdet...
Spoiler anzeigen
Spoiler anzeigen
$api_key ='hier steht der mir zugteilte API-Key' ;~ API Key ~;
$link = 'http://HOSTNAME/api/v3/projects/4/work_packages/'
post()
get()
Func post()
Local $sData = ''
$sData &= '{ "subject":"Test","description": { "format": "textile", "raw": "Test" }, "_links": {"type": {"href": "/api/v3/types/1","title": "Task"},"status": {"href": "/api/v3/statuses/1"},"priority": {"href": "/api/v3/priorities/8","title": "Normal"}}}'
$oHTTP = ObjCreate('winhttp.winhttprequest.5.1')
$oHTTP.Open ('POST', $link, False)
$oHTTP.SetRequestHeader("Content-type", "application/json")
$oHTTP.SetRequestHeader("API_KEY", $api_key)
$oHTTP.Send(StringToBinary($sData,1))
Local $sReceived = $oHTTP.ResponseText
ConsoleWrite($sReceived & @CRLF)
EndFunc
Func get()
$oHTTP = ObjCreate('winhttp.winhttprequest.5.1')
$oHTTP.Open ('POST', $link)
$oHTTP.SetRequestHeader("Content-type", "application/json")
$oHTTP.SetRequestHeader("API_KEY", $api_key)
$oHTTP.Send()
Local $sReceived = $oHTTP.ResponseText
ConsoleWrite($sReceived & @CRLF)
EndFunc
Alles anzeigen
Bei beiden Abfragen erhalten ich die Meldung "unauthorized". Durch die API-Doku blicke ich irgendwie nicht richtig durch und die Beispiele die ich über das große "G" finde sind irgendwie sperrlich...
HILFE!!!
EDIT1: auf einer Linux-Dose funktioniert folgendes:
Spoiler anzeigen
Da bekomme ich alle Arbeitspakete zumindest angezeigt...