[ckan-dev] Using CKAN's API via PHP.

Henrik Aagaard Jørgensen BU1G at tmf.kk.dk
Tue Sep 30 08:22:09 UTC 2014


Done: https://github.com/ckan/ckan/issues/1954

Fra: ckan-dev [mailto:ckan-dev-bounces at lists.okfn.org] På vegne af Ross Jones
Sendt: 29. september 2014 10:29
Til: CKAN Development Discussions
Emne: Re: [ckan-dev] Using CKAN's API via PHP.

This is clearly a bug of the this-is-a-sensible-request variety.

Could you file a ticket at https://github.com/ckan/ckan/issues/ ?
It *might* (and only might) be related to https://github.com/ckan/ckan/issues/1718

Ross.

On 29 Sep 2014, at 09:22, Henrik Aagaard Jørgensen <henrikaagaardjorgensen at gmail.com<mailto:henrikaagaardjorgensen at gmail.com>> wrote:


Just saw the doc's and apparently it is not possible to access private datasets via the API with datastore_search_sql:
"DataStore resource that belong to a private CKAN resource cannot be searched with this action."
How unfortunate.

Sorry for the trouble.

2014-09-29 10:19 GMT+02:00 Paolo Mainardi <paolo at twinbit.it<mailto:paolo at twinbit.it>>:
As is written in the wiki: https://github.com/ckan/ckan/wiki/CKAN-API-Clients you can use those clients:

- Ckan_client-PHP: https://github.com/jeffreybarke/Ckan_client-PHP
- PHP CKAN client - from Silex. Uses Guzzle for the HTTP. Packaged using Composer; also on Github. Covers a number of action functions for reading/writing packages, resources, etc. Comes with tests (https://packagist.org/packages/silex/ckan_client)

Thanks,
P.

On Mon, Sep 29, 2014 at 9:52 AM, Henrik Aagaard Jørgensen <henrikaagaardjorgensen at gmail.com<mailto:henrikaagaardjorgensen at gmail.com>> wrote:
Hello everyone,

I'm trying to use CKAN's API via PHP.

I'm using cURL and are allowed if the dataset is not private. But when trying to access a private dataset I get access denied.
CKAN is version 2.2 with datastore installed.
Running this code fails with response from the CKAN API with "{'permissions': ['Not authorized to read resource.']}":

-----

$sql = 'SELECT * FROM "656eedf2-8648-442d-90fa-4500fc49eb4a"';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://localhost/api/action/datastore_search_sql");
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode(array('sql' => $sql)));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, Authorization'array(' => 'b5256727-2711-4ac5-9009-cfc155ec13a2'));
$response = curl_exec($ch);
curl_close($ch);

var_dump(json_decode($response));

-----
When I use the code on public datasets it works. The API-key I'm using is the same as the user who created it, and I'm able to see it via the web interface.

_______________________________________________
ckan-dev mailing list
ckan-dev at lists.okfn.org<mailto:ckan-dev at lists.okfn.org>
https://lists.okfn.org/mailman/listinfo/ckan-dev
Unsubscribe: https://lists.okfn.org/mailman/options/ckan-dev



--

[http://www.twinbit.it/sites/default/files/logo-sito-black_3.png]<http://www.twinbit.it/>

Paolo Mainardi
Twinbit Founder - CTO

www:      twinbit.it<http://twinbit.it/>
mobile:   (+39) 3401678089
skype:    paolo_mainardi
linkedin: paolomainardi<http://www.linkedin.com/in/paolomainardi>
twitter:  @paolomainardi<http://twitter.com/paolomainardi>
blog:     paolomainardi.com<http://paolomainardi.com/>

_______________________________________________
ckan-dev mailing list
ckan-dev at lists.okfn.org<mailto:ckan-dev at lists.okfn.org>
https://lists.okfn.org/mailman/listinfo/ckan-dev
Unsubscribe: https://lists.okfn.org/mailman/options/ckan-dev

_______________________________________________
ckan-dev mailing list
ckan-dev at lists.okfn.org<mailto:ckan-dev at lists.okfn.org>
https://lists.okfn.org/mailman/listinfo/ckan-dev
Unsubscribe: https://lists.okfn.org/mailman/options/ckan-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.okfn.org/pipermail/ckan-dev/attachments/20140930/5b6c713f/attachment-0003.html>


More information about the ckan-dev mailing list