Ошибка 404 при попытке получить аутентификацию Twitter API через WebGL с CORS Anywhere

Недавно я пытался заставить аутентификацию Twitter работать через Web GL - я установил свой собственный CORS в любом месте на heroku и пытаюсь передать URL аутентификации как " https://test-test-12345.herokuapp.com/https://api.twitter.com/oauth/request_token"(test-test-12345 - имя местозаполнителя для реального приложения heroku), поскольку, насколько мне известно, Twitter API не поддерживает CORS.

При запуске его в моей системе я получаю 400 ошибок, как и ожидалось:

Missing required request header. Must specifcy one of: origin,x-requested-with

CORS Anywhere требует, чтобы вы запрашивали источник или x с заголовками, но я предполагаю, что это означает, что оно достигает приложения Heroku. Однако запуск его из Web GL выдает ошибку 404:

GetRequestToken - failed. error : Not found because of proxy error: Error: getaddrinfo ENOTFOUND https https:80

Изо всех сил пытается выяснить, что здесь не так, и любая помощь будет принята с благодарностью. Я знаю, что это не то, как я настраивал CORS Anywhere, поскольку я также пытался использовать тестовый сервер cors -where с теми же результатами, и я выводил URL-адрес, и он одинаков как для Unity, так и для сборки Web GL, поэтому как-то магически не меняется между ними.

Вот код, который я использую для отправки запроса в твиттер:

    private static WWW WWWRequestToken(string consumerKey, string consumerSecret)
    {
        // Add data to the form to post.
        WWWForm form = new WWWForm();
        form.AddField("oauth_callback", "oob");

        // HTTP header
        Dictionary<string, string> parameters = new Dictionary<string, string>();
        AddDefaultOAuthParams(parameters, consumerKey, consumerSecret);
        parameters.Add("oauth_callback", "oob");

        var headers = new Hashtable();
        headers["Authorization"] = GetFinalOAuthHeader("POST", RequestTokenURL, parameters);
        Debug.Log(RequestTokenURL);
        Debug.Log(form.data.ToString());
        Debug.Log(headers["Authorization"]);

        return new WWW(RequestTokenURL, form.data, headers);
    }

    private static void AddDefaultOAuthParams(Dictionary<string, string> parameters, string consumerKey, string consumerSecret)
    {
        parameters.Add("oauth_version", "1.0");
        parameters.Add("oauth_nonce", GenerateNonce());
        parameters.Add("oauth_timestamp", GenerateTimeStamp());
        parameters.Add("oauth_signature_method", "HMAC-SHA1");
        parameters.Add("oauth_consumer_key", consumerKey);
        parameters.Add("oauth_consumer_secret", consumerSecret);
    }

Спасибо!

0 ответов

Другие вопросы по тегам