I am trying to get object storage container details using provided API in post man But I am getting Unauthorized error,
API information available at
http://developer.openstack.org/api-ref/object-storage/index.html?expanded=get-object-content-and-metadata-detail,show-account-details-and-list-containers-detail#accounts
Following details I am set in PostMan,
Method Get
Url: https://{domain}.objectstorage.softlayer.net/auth/v1.0/{userid}?format=json
Header:
Key: X-Auth-Token
Value: {token}
Error got in response of PostMan,
<html>
<h1>Unauthorized</h1>
<p>This server could not verify that you are authorized to access the document you requested.</p>
</html>
To retrieve containers from Object Storage using Postman, follow these steps:
1. We need to generate the token to access Object Storage
You need to get credentials from your object storage, so you can go to:
Control Portal >> Object Storage >>
Select Account Name (e.g. SLOS123123-10) >> Select Cluster (e.g. Milan
1) >> click on "View Credentials"
You will be able to see
- "Authentication Endpoint (public and private)"
- "username"
- "API Key (Password)"
Then, you can go to postman and fill as the below example:
As you see, I had success with the request. So I need the "Headers" information from the response, as the follow example:
2. Retrieve containers
After getting "X-Storage-Url" and "X-Storage-Token", you can retrieve the containers as the example below:
I hope it helps you to access Object Storage using Postman, please let me know any doubt or comment.
Are you using your SoftLayer username or the Object Storage username? To get your Object Storage credentials go to https://control.softlayer.com/storage/objectstorage > Click on your Object Storage Username and on the following page click View Credentials.
Get the Token
curl -i -H "X-Auth-Key: [insert API Key here]" -H "X-Auth-User: [insert Object Storage Username here]" [insert Authentication Endpoint here]
Once you have the Token you can perform basic operations
List Containers
curl -i -H 'X-Auth-Token: [X-Auth-Token from Authentication step]' [X-Storage-Url from Authentication step]
View Objects in a Container
curl -i -H "X-Auth-Token: [X-Auth-Token from Authentication step]" [X-Storage-Url from Authentication step]/[container name]
To start, the error that you're receiving is because the userid parameter in your request is not correct. The X-Storage-Url should be placed in that position.
To retrieve the containers you first need a X-Auth-Token and a X-Storage-Url. For this you could run the next curl command:
curl -i -H "X-Auth-User: ACC-278436-15:USERNAME " -H "X-Auth-Key: API_KEY " https://dal05.objectstorage.softlayer.net/auth/v1.0
ACC-278436-15: The object storage username retrieved from SoftLayer_Account::getHubNetworkStorage method
USERNAME: The username used in Control portal which is the same used in the REST request that calls the SoftLayer_Account::getHubNetworkStorage method
API_KEY: The apikey used in the REST request that calls the SoftLayer_Account::getHubNetworkStorage method
The result will be similar to this:
• X-Auth-Token: AUTH_tkb26239d441d6401d9482b004d45f7259 – the token we need
• X-Storage-Url: https://dal05.objectstorage.softlayer.net/v1/AUTH_df0de35c-d00a-40aa-b697-2b7f1b9331a6 - the URL to access the storage
Now place these values in this way:
Here's a good link on how to manage SoftLayer Object Storage through rest API
https://sldn.softlayer.com/blog/waelriac/managing-softlayer-object-storage-through-rest-apis