Is there a command line client or API?


#1

Is there a command line client or API to

  • Add a new product
  • Update the version/download links of an existing product

If no, why? This would be extremely useful to publish to the sites in an automated fashion from within build scripts.

EDIT: Seems like https://www.freedesktop.org/wiki/Specifications/open-collaboration-services/#index36h4 is the spec for this, but I can’t seem to get it to work, always get “You have no authorisation for this page.”.


#3

Looking at https://www.linux-appimages.org/ocs/providers.xml it appears it supports the OCS 1.6 API. This should be documented…

Figured out how to list AppImages:
https://www.linux-appimages.org/ocs/v1/content/data?search=AppImage&sortmode=new&pagesize=100


#4

I am not sure if the codebase is (still) related, but the Owncloud Store seems to have this, even with GitHub integration: http://nextcloudappstore.readthedocs.io/en/latest/restapi.html#api-register-app


#5

Are these sites running https://github.com/KDE/ocs-webserver?


#6

What am I doing wrong that I get 403 Forbidden?

[me@host ~]$ curl -X POST -u xxx:yyy  "https://www.linux-appimages.org/ocs/v1/content/add/" -k -v 
*   Trying 46.101.238.240...
* TCP_NODELAY set
* Connected to www.linux-appimages.org (46.101.238.240) port 443 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
* skipping SSL peer certificate verification
* ALPN/NPN, server did not agree to a protocol
* SSL connection using TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
* Server certificate:
*     subject: CN=www.linux-appimages.org
*     start date: Jan 30 10:09:00 2017 GMT
*     expire date: Apr 30 10:09:00 2017 GMT
*     common name: www.linux-appimages.org
*     issuer: CN=Let's Encrypt Authority X3,O=Let's Encrypt,C=US
* Server auth using Basic with user 'xxx'
> POST /ocs/v1/content/add/ HTTP/1.1
> Host: www.linux-appimages.org
> Authorization: Basic xxxxxx9ub3BkOmxldG1laW4=
> User-Agent: curl/7.50.3
> Accept: */*
> 
< HTTP/1.1 403 Forbidden

#7

Yes, ocs-webserver is used.


#8

Hello @opendesktop, can you please give an example on how to use the API.

I always get error 403, e.g., when doing curl -X POST "https://xxx:yyy@store.kde.org/ocs/v1/content/edit/1170397" -k -v.