#1
|
|||
|
|||
API issues and questions
I'm trying to use the so called 'Deprecated API' of jdownloader ...
in the attached xlsx are some differences between the documentation here https://my.jdownloader.org/developers and http://localhost:53128/help (default port 3128 = 53128 in my setup) - some methods are missing / params are different maybe just some stupid mistake on my side but API seems not consistent: (get, post) and how parameters are supposed to be passed according to api docs there is no mention, which of the http / rest methods are supposed to be used per API call and the response headers suggest that OPTIONS, GET, POST are implemented for all calls (as does the docs) some samples, I've tried with mixed success - detailed results are below in code sections request header is set {"Content-Type": "application/json; charset=utf-8"} hope you can put me on the right track. thanks! querypackages: {"availableOfflineCount":true,"availableOnlineCount":true,"availableTempUnknownCount":true,"availabl eUnknownCount":true,"bytesTotal":true,"childCount":true,"comment":true,"enabled":true,"hosts":true," maxResults":-1,"packageUUIDs":[],"priority": true,"saveTo":true,"startAt":0,"status":true} querypackages, GET, parameters as json -> url encoded - ok querypackages, GET, parameters -> url encoded - BAD_PARAMETERS querypackages, POST, parameters as json -> body - BAD_PARAMETERS queryLinks: {"availability":true,"bytesTotal":true,"comment":true,"enabled":true,"host":true,"jobUUIDs":[],"maxResults":-1,"packageUUIDs":[1699409911552],"password":true,"priority":true,"startAt":0,"status":true,"url":true,"variantID":true,"variantIcon" :true, "variantName":true,"variants":true} queryLinks, GET, parameters as json -> url encoded - ok queryLinks, GET, parameters -> url encoded - BAD_PARAMETERS queryLinks, POST, parameters as json -> body - BAD_PARAMETERS setComment: {"linkIds":[1699409911553],"packageIds":[1699409911552],"allPackageLinks":false,"comment":"newtestfilecommentnospaces"} setComment, GET, parameters as json -> url encoded - BAD_PARAMETERS setComment, GET, parameters -> url encoded - BAD_PARAMETERS setComment, POST, parameters as json -> body - BAD_PARAMETERS setComment: {"linkIds":[],"packageIds":[1699405618466],"allPackageLinks":true,"comment":"newtestpackagecommentnospacesalllinks"} setComment, GET, parameters as json -> url encoded - BAD_PARAMETERS setComment, GET, parameters -> url encoded - BAD_PARAMETERS setComment, POST, parameters as json -> body - BAD_PARAMETERS setEnabled: {"enabled":false,"linkIds":[],"packageIds":[1699405618466]} setEnabled, GET, parameters as json -> url encoded - BAD_PARAMETERS setEnabled, GET, parameters -> url encoded - BAD_PARAMETERS setEnabled, POST, parameters as json -> body - BAD_PARAMETERS setEnabled: {"enabled":false,"linkIds":[],"packageIds":[1699405618466]} setEnabled, GET, parameters as json -> url encoded - BAD_PARAMETERS setEnabled, GET, paraeters -> url encoded - BAD_PARAMETERS setEnabled, POST, parameters as json -> body - BAD_PARAMETERS setEnabled: {"enabled":false,"linkIds":[1699405618481],"packageIds":[1699405618466]} setEnabled, GET, parameters as json -> url encoded - BAD_PARAMETERS setEnabled, GET, parameters -> url encoded - BAD_PARAMETERS setEnabled, POST, parameters as json -> body - BAD_PARAMETERS addContainer - ok (somewhat) Based on java source code, I was able to "guess" based on filetype (extension) and url parsing how to add a DLC. Call is successfull, when parameters are passed in url encoded form, not as json. request: GET /linkgrabberv2/addContainer?type=dlc&content=;base64,base64enc_DLC_file_content source code: * src/org/jdownloader/api/linkcollector/v2/LinkCollectorAPIImplV2.java#L746 -> param type File tmp = Application.getTempResource("uploads/linkcollectorAPI" + System.nanoTime() + "." + type); * src/org/jdownloader/api/linkcollector/v2/LinkCollectorAPIImplV2.java#L730 -> param content final int base64Index = dataURL.indexOf(";base64,"); Code:
querypackages, GET, parameters as json -> url encoded GET localhost:53128/linkgrabberv2/queryPackages?%7B%22availableOfflineCount%22%3Atrue%2C%22availableOnlineCount%22%3Atrue%2C%22availableTempUnknownCount%22%3Atrue%2C%22availableUnknownCount%22%3Atrue%2C%22bytesTotal%22%3Atrue%2C%22childCount%22%3Atrue%2C%22comment%22%3Atrue%2C%22enabled%22%3Atrue%2 C%22hosts%22%3Atrue%2C%22maxResults%22%3A-1%2C%22packageUUIDs%22%3A%5B%5D%2C%22priority%22%3Atrue%2C%22saveTo%22%3Atrue%2C%22startAt%22%3A0%2C%22status%22%3Atrue%7D 200 {"data":[{"onlineCount":0,"offlineCount":0,"saveTo":"C:\\temp\\testpackage","unknownCount":1,"hosts":["http links"],"name":"testpackage","childCount":1,"comment":"TEST PACKAGE COMMENT","uuid":1699409911552,"enabled":true,"tempUnknownCount":0}]} querypackages, GET, parameters -> url encoded GET localhost:53128/linkgrabberv2/queryPackages?availableOfflineCount=True&availableOnlineCount=True&availableTempUnknownCount=True&availableUnknownCount=True&bytesTotal=True&childCount=True&comment=True&enabled=True&hosts=True&maxResults=-1&packageUUIDs=%5B%5D&priority=True&saveTo=True&startAt=0&s tatus=True 400 { "src" : "DEVICE", "data" : "/linkgrabberv2/queryPackages?availableOfflineCount=True&availableOnlineCount=True&availableTempUnknownCount=True&availableUnknownCount=True&bytesTotal=True&childCount=True&comment=True&enabled=True&hosts=True&maxResults=-1&packageUUIDs=%5B%5D&priority=True&saveTo=True&startAt=0&status=Tr ue", "type" : "BAD_PARAMETERS" } querypackages, POST, parameters as json -> body POST localhost:53128/linkgrabberv2/queryPackages BODY: {"availableOfflineCount":true,"availableOnlineCount":true,"availableTempUnknownCount":true,"availableUnknownCount":true,"bytesTotal":true,"childCount":true,"comment":true,"enabled":true,"hosts":true,"maxResults":-1,"packageUUIDs":[],"priority": true,"saveTo":true,"startAt":0,"status":true} 400 { "src" : "DEVICE", "data" : "/linkgrabberv2/queryPackages", "type" : "BAD_PARAMETERS" } Code:
queryLinks, GET, parameters as json -> url encoded GET localhost:53128/linkgrabberv2/queryLinks?%7B%22availability%22%3Atrue%2C%22bytesTotal%22%3Atrue%2C%22comment%22%3Atrue%2C%22enabled%22%3Atrue%2C%22host%22%3Atrue%2C%22jobUUIDs%22%3A%5B%5D%2C%22maxResults%22%3A-1%2C%22packageUUIDs%22%3A%5B1699409911552%5D%2C%22password%22%3Atrue%2C%22priority%22 %3Atrue%2C%22startAt%22%3A0%2C%22status%22%3Atrue%2C%22url%22%3Atrue%2C%22variantID%22%3Atrue%2C%22variantIcon%22%3Atrue%2C%22variantName%22%3Atrue%2C%22variants%22%3Atrue%7D 200 {"data":[{"host":"http links","name":"testfile.zip","comment":"TEST LINK COMMENT","availability":"UNKNOWN","packageUUID":1699409911552,"uuid":1699409911553,"url":"**External links are only visible to Support Staff**,"enabled":true}]} queryLinks, GET, parameters -> url encoded GET localhost:53128/linkgrabberv2/queryLinks?availability=True&bytesTotal=True&comment=True&enabled=True&host=True&jobUUIDs=%5B%5D&maxResults=-1&packageUUIDs=%5B1699409911552%5D&password=True&priority=True&startAt=0&status=True&url=True&variantID=True&variantIcon=True&variantName=True&variants=True 400 { "src" : "DEVICE", "data" : "/linkgrabberv2/queryLinks?availability=True&bytesTotal=True&comment=True&enabled=True&host=True&jobUUIDs=%5B%5D&maxResults=-1&packageUUIDs=%5B1699409911552%5D&password=True&priority=True&startAt=0&status=True&url=True&variantID=True&variantIcon=True&variantName=True&variants=True", "type" : "BAD_PARAMETERS" } queryLinks, POST, parameters as json -> body POST localhost:53128/linkgrabberv2/queryLinks BODY: {"availability":true,"bytesTotal":true,"comment":true,"enabled":true,"host":true,"jobUUIDs":[],"maxResults":-1,"packageUUIDs":[1699409911552],"password":true,"priority":true,"startAt":0,"status":true,"url":true,"variantID":true,"variantIcon":true, "variantName":true,"variants":true} 400 { "src" : "DEVICE", "data" : "/linkgrabberv2/queryLinks", "type" : "BAD_PARAMETERS" } Code:
setComment, GET, parameters as json -> url encoded GET localhost:53128/linkgrabberv2/setComment?%7B%22linkIds%22%3A%5B1699409911553%5D%2C%22packageIds%22%3A%5B1699409911552%5D%2C%22allPackageLinks%22%3Afalse%2C%22comment%22%3A%22newtestfilecommentnospaces%22%7D 400 { "src" : "DEVICE", "data" : "/linkgrabberv2/setComment?%7B%22linkIds%22%3A%5B1699409911553%5D%2C%22packageIds%22%3A%5B1699409911552%5D%2C%22allPackageLinks%22%3Afalse%2C%22comment%22%3A%22newtestfilecommentnospaces%22%7D", "type" : "BAD_PARAMETERS" } setComment, GET, parameters -> url encoded GET localhost:53128/linkgrabberv2/setComment?linkIds=%5B1699409911553%5D&packageIds=%5B1699409911552%5D&allPackageLinks=False&comment=newtestfilecommentnospaces 400 { "src" : "DEVICE", "data" : "False", "type" : "BAD_PARAMETERS" } setComment, POST, parameters as json -> body POST localhost:53128/linkgrabberv2/setComment BODY: {"linkIds":[1699409911553],"packageIds":[1699409911552],"allPackageLinks":false,"comment":"newtestfilecommentnospaces"} 400 { "src" : "DEVICE", "data" : "/linkgrabberv2/setComment", "type" : "BAD_PARAMETERS" } Code:
setComment, GET, parameters as json -> url encoded GET localhost:53128/linkgrabberv2/setComment?%7B%22linkIds%22%3A%5B%5D%2C%22packageIds%22%3A%5B1699405618466%5D%2C%22allPackageLinks%22%3Atrue%2C%22comment%22%3A%22newtestpackagecommentnospacesalllinks%22%7D 400 { "src" : "DEVICE", "data" : "/linkgrabberv2/setComment?%7B%22linkIds%22%3A%5B%5D%2C%22packageIds%22%3A%5B1699405618466%5D%2C%22allPackageLinks%22%3Atrue%2C%22comment%22%3A%22newtestpackagecommentnospacesalllinks%22%7D", "type" : "BAD_PARAMETERS" } setComment, GET, parameters -> url encoded GET localhost:53128/linkgrabberv2/setComment?linkIds=%5B%5D&packageIds=%5B1699405618466%5D&allPackageLinks=True&comment=newtestpackagecommentnospacesalllinks 400 { "src" : "DEVICE", "data" : "True", "type" : "BAD_PARAMETERS" } setComment, POST, parameters as json -> body POST localhost:53128/linkgrabberv2/setComment BODY: {"linkIds":[],"packageIds":[1699405618466],"allPackageLinks":true,"comment":"newtestpackagecommentnospacesalllinks"} 400 { "src" : "DEVICE", "data" : "/linkgrabberv2/setComment", "type" : "BAD_PARAMETERS" } Code:
setEnabled, GET, parameters as json -> url encoded GET localhost:53128/linkgrabberv2/setEnabled?%7B%22enabled%22%3Afalse%2C%22packageIds%22%3A%5B1699405618466%5D%7D 400 { "src" : "DEVICE", "data" : "/linkgrabberv2/setEnabled?%7B%22enabled%22%3Afalse%2C%22packageIds%22%3A%5B1699405618466%5D%7D", "type" : "BAD_PARAMETERS" } setEnabled, GET, parameters -> url encoded GET localhost:53128/linkgrabberv2/setEnabled?enabled=False&packageIds=%5B1699405618466%5D 400 { "src" : "DEVICE", "data" : "/linkgrabberv2/setEnabled?enabled=False&packageIds=%5B1699405618466%5D", "type" : "BAD_PARAMETERS" } setEnabled, POST, parameters as json -> body POST localhost:53128/linkgrabberv2/setEnabled BODY: {"enabled":false,"packageIds":[1699405618466]} 400 { "src" : "DEVICE", "data" : "/linkgrabberv2/setEnabled", "type" : "BAD_PARAMETERS" } Code:
setEnabled, GET, parameters as json -> url encoded GET localhost:53128/linkgrabberv2/setEnabled?%7B%22enabled%22%3Afalse%2C%22linkIds%22%3A%5B%5D%2C%22packageIds%22%3A%5B1699405618466%5D%7D 400 { "src" : "DEVICE", "data" : "/linkgrabberv2/setEnabled?%7B%22enabled%22%3Afalse%2C%22linkIds%22%3A%5B%5D%2C%22packageIds%22%3A%5B1699405618466%5D%7D", "type" : "BAD_PARAMETERS" } setEnabled, GET, parameters -> url encoded GET localhost:53128/linkgrabberv2/setEnabled?enabled=False&linkIds=%5B%5D&packageIds=%5B1699405618466%5D 400 { "src" : "DEVICE", "data" : "False", "type" : "BAD_PARAMETERS" } setEnabled, POST, parameters as json -> body POST localhost:53128/linkgrabberv2/setEnabled BODY: {"enabled":false,"linkIds":[],"packageIds":[1699405618466]} 400 { "src" : "DEVICE", "data" : "/linkgrabberv2/setEnabled", "type" : "BAD_PARAMETERS" } Code:
setEnabled, GET, parameters as json -> url encoded GET localhost:53128/linkgrabberv2/setEnabled?%7B%22enabled%22%3Afalse%2C%22linkIds%22%3A%5B1699405618481%5D%2C%22packageIds%22%3A%5B1699405618466%5D%7D 400 { "src" : "DEVICE", "data" : "/linkgrabberv2/setEnabled?%7B%22enabled%22%3Afalse%2C%22linkIds%22%3A%5B1699405618481%5D%2C%22packageIds%22%3A%5B1699405618466%5D%7D", "type" : "BAD_PARAMETERS" } setEnabled, GET, parameters -> url encoded GET localhost:53128/linkgrabberv2/setEnabled?enabled=False&linkIds=%5B1699405618481%5D&packageIds=%5B1699405618466%5D 400 { "src" : "DEVICE", "data" : "False", "type" : "BAD_PARAMETERS" } setEnabled, POST, parameters as json -> body POST localhost:53128/linkgrabberv2/setEnabled BODY: {"enabled":false,"linkIds":[1699405618481],"packageIds":[1699405618466]} 400 { "src" : "DEVICE", "data" : "/linkgrabberv2/setEnabled", "type" : "BAD_PARAMETERS" } Last edited by mav; 08.11.2023 at 08:02. Reason: typo |
Thread Tools | |
Display Modes | |
|
|