[ckan-dev] Datastore & filestore via API
Eduardo Santos
eduardo.edusantos at gmail.com
Thu Aug 9 14:10:04 UTC 2012
Hi Michele,
in order for the add_package_resource to work you have to supply with the
headers the quthorized api_key. it would be something like this:
user = get_action('get_site_user')({'model': model, 'ignore_auth':
True}, {})
ckan = ckanclient.CkanClient(
base_location=api_url,
api_key=user.get('apikey'),
is_verbose=True,
)
When you create a ckanclient instance you have to supply the api_key
2012/8/8 Michele Barbera <barbera at spaziodati.eu>
> This is the logged error when I try to post a file to the filestore with
> ckan.add_package_resource
> (it creates the resource and its metadata, but the file isn't loaded
> anywhere):
>
> 2012-08-08 15:52:35,186 DEBUG [pylons.controllers.core] Looking for
> u'upload_handle' method to handle the request
> 2012-08-08 15:52:35,187 DEBUG [pylons.controllers.core] Calling
> 'upload_handle' method with keyword args: **{}
> 2012-08-08 15:52:35,194 DEBUG [pylons.controllers.util] Aborting request,
> status: 401, detail: '', headers: None, comment: None
> 2012-08-08 15:52:35,194 DEBUG [pylons.controllers.core] 'upload_handle'
> method raised HTTPException: HTTPUnauthorized (code: 401)
> Traceback (most recent call last):
> File
> "/home/ckan/pyenv/local/lib/python2.7/site-packages/pylons/controllers/core.py",
> line 107, in _inspect_call
> result = self._perform_call(func, args)
> File
> "/home/ckan/pyenv/local/lib/python2.7/site-packages/pylons/controllers/core.py",
> line 60, in _perform_call
> return func(**args)
> File "/home/ckan/pyenv/src/ckan/ckan/controllers/storage.py", line 133,
> in upload_handle
> authorize('POST', BUCKET, label, c.userobj, self.ofs)
> File "/home/ckan/pyenv/src/ckan/ckan/controllers/storage.py", line 99,
> in authorize
> abort(401)
> File "/home/ckan/pyenv/src/ckan/ckan/lib/base.py", line 48, in abort
> comment=comment)
> File
> "/home/ckan/pyenv/local/lib/python2.7/site-packages/pylons/controllers/util.py",
> line 196, in abort
> raise exc.exception
> HTTPUnauthorized: This server could not verify that you are authorized to
> access the document you requested. Either you supplied the wrong
> credentials (e.g., bad password), or your browser does not understand how
> to supply the credentials required.
>
> Any hint?
>
> thanks,
> michele
>
>
>
> 2012/8/8 Michele Barbera <barbera at spaziodati.eu>
>
>> Hi,
>> I'm using 1.7.1
>>
>> here's my code:
>>
>> 1 ckan = ckanclient.CkanClient(
>> 2 base_location = CKAN_HOST + '/api',
>> 3 api_key = CKAN_API_KEY
>> 4 )
>> 5 r = ckan.upload_file(zip_file)
>> 6 print 'Upload response:', r
>> 7 r = ckan.add_package_resource(dataset_name, zip_file, name=resource
>> + '.zip', resource_type='metadata', format='zip')
>> 8 print 'Add package response:', r
>>
>> at 6 I get ('', 'Found') and nothing seems to happen on the server
>> (neither in the ckan_storage dir nor in the ckan logs).
>>
>> Thanks,
>> michele
>>
>>
>> 2012/8/8 Sean Hammond <sean.hammond at okfn.org>
>>
>>> Hi, which version of CKAN are you using? I'll test file uploading with
>>> ckanclient here and see if it works for me
>>>
>>> ______________________________**_________________
>>> ckan-dev mailing list
>>> ckan-dev at lists.okfn.org
>>> http://lists.okfn.org/mailman/**listinfo/ckan-dev<http://lists.okfn.org/mailman/listinfo/ckan-dev>
>>>
>>
>>
>
> _______________________________________________
> ckan-dev mailing list
> ckan-dev at lists.okfn.org
> http://lists.okfn.org/mailman/listinfo/ckan-dev
>
>
--
Eduardo Santos
Analista de Sistemas
http://www.eduardosan.com
http://twitter.com/eduardosan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.okfn.org/pipermail/ckan-dev/attachments/20120809/379fc56a/attachment-0001.html>
More information about the ckan-dev
mailing list