2016-03-10 2 views
0

Я пытаюсь использовать verify_credentials endpoint из API Twitter. Я хочу установить параметр include_entities в false. Я могу выполнить аутентификацию с помощью первого примера (так что я знаю, что мое значение oauth_options верно), но если я попытаюсь установить параметр include_entities, я получу эту ошибку {"code"=>32, "message"=>"Could not authenticate you."}. Примечание. Я не могу использовать драгоценный камень Twitter.HTTParty для Twitter, не удается аутентифицировать, когда включены параметры

РАБОТЫ:

response = HTTParty.get("https://api.twitter.com/1.1/account/verify_credentials.json", headers: {"Authorization" => oauth_options}) 

НЕ РАБОТАЕТ:

response = HTTParty.get("https://api.twitter.com/1.1/account/verify_credentials.json", headers: {"Authorization" => oauth_options}, query: {include_entities: false}) 

ТАКЖЕ НЕ РАБОТАЕТ

response = HTTParty.get("https://api.twitter.com/1.1/account/verify_credentials.json?include_entities=false", headers: {"Authorization" => oauth_options}) 
+1

Так в том числе этого пары запроса изменится вычисленное значение авторизации, так как они включены в процессе подписания. Как вы это создаете? –

+0

Я этого не осознавал. Я думаю, вот в чем проблема. –

+1

P.S., если вы хотите поместить это в качестве ответа, я отметю его правильно. –

ответ

0

Убедитесь, что йо u отрегулируйте логику для вычисления токена авторизации, так как ему нужно будет рассмотреть параметры запроса.

Прочтите документацию здесь https://dev.twitter.com/oauth/overview/authorizing-requests или воспользуйтесь библиотекой, которая позаботится об этом автоматически.

Я могу подтвердить это работает, если вы зарегистрируетесь запрос правильно

$ oksocial 'https://api.twitter.com/1.1/account/verify_credentials.json?include_entities=false' | jq . 
{ 
    "id": 111, 
    "id_str": "111", 
    "name": "Fred Blogs", 
+0

как я могу это сделать? – Jenkamen