Example #1
0
        public static IEnumerator GenerateAccessToken(string pin, TwitterAuthenticationCallback callback)
        {
            string url = "https://api.twitter.com/oauth/access_token";

            SortedDictionary <string, string> p = new SortedDictionary <string, string>();

            p.Add("oauth_verifier", pin);

            WWWForm form = new WWWForm();

            form.AddField("oauth_verifier", pin);

            UnityWebRequest request = UnityWebRequest.Post(url, form);

            request.SetRequestHeader("Authorization", Oauth.GenerateHeaderWithAccessToken(p, "POST", url));

            #if UNITY_2017_1
            yield return(request.Send());
            #endif
            #if UNITY_2017_2_OR_NEWER
            yield return(request.SendWebRequest());
            #endif

            if (request.isNetworkError)
            {
                callback(false);
            }
            else
            {
                if (request.responseCode == 200 || request.responseCode == 201)
                {
                    string[] arr = request.downloadHandler.text.Split("&"[0]);
                    Dictionary <string, string> d = new Dictionary <string, string>();
                    foreach (string s in arr)
                    {
                        string k = s.Split("="[0])[0];
                        string v = s.Split("="[0])[1];
                        d[k] = v;
                    }
                    Oauth.accessToken       = d["oauth_token"];
                    Oauth.accessTokenSecret = d["oauth_token_secret"];
                    screenName = d["screen_name"];
                    callback(true);
                }
                else
                {
                    callback(false);
                }
            }
        }
Example #2
0
        public static IEnumerator GetOauth2BearerToken(TwitterAuthenticationCallback callback)
        {
            string url = "https://api.twitter.com/oauth2/token";

            string credential = Helper.UrlEncode(Oauth.consumerKey) + ":" + Helper.UrlEncode(Oauth.consumerSecret);

            credential = Convert.ToBase64String(Encoding.UTF8.GetBytes(credential));

            WWWForm form = new WWWForm();

            form.AddField("grant_type", "client_credentials");

            UnityWebRequest request = UnityWebRequest.Post(url, form);

            request.SetRequestHeader("ContentType", "application/x-www-form-urlencoded;charset=UTF-8");
            request.SetRequestHeader("Authorization", "Basic " + credential);

            #if UNITY_2017_1
            yield return(request.Send());
            #endif
            #if UNITY_2017_2_OR_NEWER
            yield return(request.SendWebRequest());
            #endif

            if (request.isNetworkError)
            {
                callback(false);
            }

            if (request.responseCode == 200 || request.responseCode == 201)
            {
                Twity.Oauth.bearerToken = JsonUtility.FromJson <Twity.DataModels.Oauth.BearerToken>(request.downloadHandler.text).access_token;
                callback(true);
            }
            else
            {
                callback(false);
            }
        }
Example #3
0
 public static IEnumerator GenerateRequestToken(TwitterAuthenticationCallback callback)
 {
     yield return(GenerateRequestToken(callback, "oob"));
 }