Does anyone know how to get oauth2 token using Unity C# WWW/WWWForm?

Hi, I am running an app in Unity which requires Domo Authentication to get the token. The problem is I keep getting "401 Unauthorized" error and "{"error":"invalid_client","error_description":"Bad client credentials"}"(from WWW.text).

Here's my code:

 

    IEnumerator getTokenNew()
    {
        string jSon = client_id + ":" + client_secret;
        Dictionary<string,string> postheader = new Dictionary<string,string>();
        postheader.Add ("Content-Length",jSon.Length.ToString());
        postheader.Add ("Content-Type","application/json");
        postheader.Add ("Allow","PUT");
        System.Text.UTF8Encoding encoder = new System.Text.UTF8Encoding();
        WWW www = new WWW ("https://api.domo.com/oauth/token?grant_type=client_credentials&scope=data%20user",encoder.GetBytes(jSon),postheader);
        yield return www;
        Debug.Log (www.text);
        Debug.Log (www.error);
    }

 

 

The WWW constructor has three arguments, which are url, byte of data, and a dictionary for creating headers. Does anyone know how to send a request with this? I have theoriginal cUrl code, but can not really translate into C sharp WWW. Thanks. Here is the API Documentation: WWW_UNITY_API

 

cUrl:

$ curl -v -u {CLIENT_ID}:{CLIENT_SECRET} "https://api.domo.com/oauth/token?grant_type=client_credentials&scope={SCOPE}"

 

Sample cUrl:

$ curl -v -u 441e307a-b2a1-4a99-8561-174e5b153fsa:f103fc453d08bdh049edc9a1913e3f5266447a06d1d2751258c89771fbcc8087 "https://api.domo.com/oauth/token?grant_type=client_credentials&scope=data%20user"

Comments

This discussion has been closed.