Я пытаюсь получить свой токен только для приложений из API Twitter Oauth2.В зависимости от того, как я это делаю, я получаю либо ошибку 400 (неверный запрос), либо 503 (служба временно недоступна).Я в замешательстве.
Попытка 1 была через сокет HTTPS (в Xojo, если вы должны знать);когда это не удалось, я переключился на чистый SSL-сокет, чтобы я точно знал , что я отправляю.Я отправляю это (с указанными здесь учетными данными):
POST /oauth2/token HTTP/1.1
Host: api.twitter.com
User-Agent: My Twitter App v1.0.23
Authorization: Basic MUs1NGpvd (...stuff deleted...) MmpxeQ==
Content-Type: application/x-www-form-urlencoded;charset=UTF-8
Content-length: 29
Accept-Encoding: gzip
grant_type=client_credentials
Этот запрос моделируется непосредственно после запроса в документах .Он выдает код ошибки 400 (неверный запрос).
Затем я решил попробовать curl (опять же, учетные данные помечены):
curl -i -d 'grant_type=client_credentials' -H 'Authorization: Basic MUs1NGpv (...blah blah...) mpxeQ==' -H 'Content-Type: application/x-www-form-urlencoded;charset=UTF-8' 'https://api.twitter.com/oauth2/token'
И это каждый раз выдает код состояния 503.
Мои учетные данные - это всего лишь версия Base64 моего API-ключа и секрета, соединенные двоеточием.Тот же ключ и секрет отлично работают при тестировании с STTwitterDemoOSX.Я почти (но не совсем) достаточно отчаялся, чтобы использовать WireShark, чтобы увидеть, что отправляет это приложение.Но должно быть что-то простое, я делаю не так.Есть идеи?