Sample code for 30+ languages & platforms
Lua

Get Akeneo Token given Client ID and Secret

See more HTTP Misc Examples

Assumes you're starting with a client ID and secret obtained from your OAuth1 provider, such as OneLogin. Demonstrates how to get an akeneo token using your client id/secret in combination with your akeneo login/password.

Chilkat Lua Downloads

Lua
local chilkat = require("chilkat")

-- This example requires the Chilkat API to have been previously unlocked.
-- See Global Unlock Sample for sample code.

local http = chilkat.Http.new()

-- The HTTP Basic authentication for this request is the
-- OAuth client id and secret you've already obtained.
http.basic_auth = true
http.login = "my_akeneo_client_id"
http.password = "my_akeneo_secret"

-- Build this JSON:
-- {
--   "grant_type": "password",
--   "username": "yourusername",
--   "password": "yourpassword"
-- }

local json = chilkat.JsonObject.new()
json:update_string("grant_type", "password")
json:update_string("username", "my_akeneo_username")
json:update_string("password", "my_akeneo_password")

-- POST this JSON (with the Basic Authentication header)
local url = "http://pim.my-akeneo-site.com/api/oauth/v1/token"
local resp = chilkat.HttpResponse.new()
local success = http:http_json("POST", url, json, "application/json", resp)
if not success then
    print(http.last_error_text)
    return
end

print("Response status code: " .. resp.status_code)
print("Response body: " .. resp.body_str)

if resp.status_code == 200 then
    -- Success.
    -- Parse the response, which looks like this:

    --         {
    --             "access_token": "MTE0NzNkNzI5YTk0ZTBlNmFlNTI5NmVkOWJhZjUxYWRkN2UzZWIwOWNkMTkwNzY5Mzk3NGViMDFmYzdlODJlMg",
    --             "expires_in": 3600,
    --             "token_type": "bearer",
    --             "scope": null,
    --             "refresh_token": "ZDkyMzA2NDhlZjQ2MGQyMDQ2MWRiMDBmOTdkZjQ5ODY5Mzc3MTEzMjVkNTkwZThmNWRlNWY0MzllYWMxZWQ5ZA"
    --         }

    json:load(resp.body_str)
    local access_token = json:string_of("access_token")
    local expires_in = json:int_of("expires_in")
    local token_type = json:string_of("token_type")
    local scope = json:string_of("scope")
    local refresh_token = json:string_of("refresh_token")

    print("Access Token: " .. access_token)
end