Ошибка 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);
}
Спасибо!