Старі URL експорту
До появи API результати завантажували, додаючи ?export= і ключ до
звичайного URL пошуку. Ці URL і досі працюють точно так, як завжди, байт у
байт. Вони нікуди не зникнуть.
https://publicwww.com/websites/%22angular.min.js%22/?export=csv&key=YOUR_KEY
export= | Повертає |
|---|---|
urls | Один URL на рядок. |
csv | domain;rank |
csvu | url;rank |
csvsnippets | domain;rank;snippet |
csvsnippetsu | url;rank;snippet |
cluster | Зберігає результати як кластер замість завантаження. |
&delimiterColumns= і &delimiterSnippets=
змінюють роздільники, а
https://publicwww.com/profile/api_status.xml повідомляє
використання за день у форматі XML. Передавайте ключ у заголовку
Authorization: Bearer <your api key>; старіша форма
?key= досі працює, але застаріла, бо ключ в адресі потрапляє в
історію браузера й журнали сервера.
Чому вони окремо
Ці URL - шар сумісності, і саме те, що вони такими й лишаються, дає змогу API бути звичайним сучасним API. Їхній вивід зафіксовано байт у байт тестом, який запускається під час кожної зміни, тож скрипт, написаний багато років тому, і далі розбирає те, що розбирав завжди. Нічого нового до них не додається.
Перенесення скрипту
Найближчі відповідники:
| Старе | Нове |
|---|---|
?export=csv | format=csv |
?export=csvu | format=csv&columns=url,rank |
?export=urls | format=txt |
?export=csvsnippets | format=csv&snippets=1 |
?export=csvsnippetsu | format=csv&columns=url,rank,snippets&snippets=1 |
&key= | Authorization: Bearer |
&delimiterColumns= | delimiter= |
| запит у шляху URL | query= або тіло JSON |
api_status.xml | /v1/account |
Колонки збігаються, тож парсер зазвичай міняти не треба. А те, що змінюється, того варте:
- Неправильний ключ - це
401з тілом JSON, а не200зі словамиWrong API keyтам, де мали бути рядки. - Надто часті запити одразу отримують
429зRetry-After, а не з’єднання, яке тримають відкритим до пів хвилини, а потім відхиляють. - Вичерпаний ліміт - це помилка. На старих URL він непомітно знижує вас до лімітів безкоштовного тарифу й повертає менше рядків, і у відповіді про це нічого не сказано.
- Скорочену відповідь позначено -
X-Truncated. - Є листання, тож клієнтові не треба завантажувати все, щоб подивитися на перші двадцять рядків.