Google API с параметрами дает неизвестный заголовок авторизации - PullRequest
2 голосов
/ 12 ноября 2011

У меня есть такая проблема, что обычно точка входа API работает нормально:

https://www.google.com/analytics/feeds/accounts/default

но когда я добавляю такие параметры, как:

https://www.google.com/analytics/feeds/accounts/default?max-results=50

тогда не получается. Это часть взаимодействия, если кто-то может сказать, что не так:

GET&https%3A%2F%2Fwww.google.com%2Fanalytics%2Ffeeds%2Faccounts%2Fdefault&oauth_consumer_key%3DCONSUMERKEY%26oauth_nonce%3D88526211463343710%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1321044173%26oauth_token%3DCONSUMERTOKEN%26oauth_version%3D1.0
{ host: 'www.google.com',
  path: '/analytics/feeds/accounts/default?max-results=25',
  method: 'GET',
  headers: { Authorization: 'OAuth oauth_token="CONSUMERTOKEN", oauth_timestamp="1321044173", oauth_nonce="88526211463343710", oauth_consumer_key="CONSUMERKEY", oauth_signature_method="HMAC-SHA1", oauth_version="1.0", oauth_signature="S%2Bob3FyVFpwRsu4x7C%2FwmkwbnDY%3D"' } }
STATUS: 401
HEADERS: {"www-authenticate":"GoogleLogin realm=\"http://www.google.com/accounts/ClientLogin\", service=\"analytics\"","content-type":"text/html; charset=UTF-8","date":"Fri, 11 Nov 2011 20:42:56 GMT","expires":"Fri, 11 Nov 2011 20:42:56 GMT","cache-control":"private, max-age=0","x-content-type-options":"nosniff","x-frame-options":"SAMEORIGIN","x-xss-protection":"1; mode=block","server":"GSE","connection":"close"}
response: Unknown authorization header

Это спрашивается несколько раз здесь и там с различными вариациями, но я не могу найти основную проблему, решенную до сих пор ...

1 Ответ

1 голос
/ 19 ноября 2011

Оказывается, что Google требует параметры URL для базовой строки сигнатуры:

GET & https% 3A% 2F% 2Fwww.google.com% 2Fanalytics% 2Ffeeds% 2Faccounts% 2Fdefault & oauth_consumer_key% 3DCONSUMERKEY% 26oauth_hoign11 26oauth_210% 26oauth_w0%% 26oauth_w0%% 26oauth_w0%% 26oauth_w0%% 26oauth_w0%% 26oauth_w0%% 26auth_t_2% 26ature_w_410% 26oauth_010%% 26_3_t_064%% 3DHMAC-SHA1% 26oauth_timestamp% 3D1321044173% 26oauth_token% 3DCONSUMERTOKEN% 26oauth_version% 3D1.0

->

GET & https% 3A% 2F% 2Fwww.google.com 2Ffeds% 2Fceds2Fdefault & oauth_consumer_key% 3DCONSUMERKEY% 26oauth_nonce% 3D88526211463343710% 26oauth_signature_method% 3DHMAC-SHA1% 26oauth_timestamp% 3D1321044173% 26oauth_timestamp% 3D1321044173% 26oauth_tostamp% алфавитный указатель * 100% * в сумме 100% * в сумме 100% * в сумме 100% * не более 100% * 0% 0% 0% 0% 2% 0% 0Это исправило мою проблему.

...