2015-10-29 3 views
0

Я создал базовый скрипт, который проверяет электронную почту в моем почтовом ящике, и вчера все работает нормально. Но сегодня все, что я получаю, это HTTP404, когда я запускаю тот же код.Является ли внешний вид REST API дросселированием меня?

Я подозреваю, что outlook.office365.com может сжимать мои запросы, так как я запускал это 1 раз каждую минуту около 36 часов. Но как я могу сказать, так ли это?

Вот мой локон команда:

curl https://outlook.office365.com/api/1.0/Me/folders/Inbox/messages -u [email protected]:password --insecure --show-error -H Content-Type:application/json -v 

и выход:

* About to connect() to outlook.office365.com port 443 (#0) 
* Trying 132.245.48.18... connected 
* Connected to outlook.office365.com (132.245.48.18) port 443 (#0) 
* successfully set certificate verify locations: 
* CAfile: none 
    CApath: /etc/ssl/certs 
* SSLv3, TLS handshake, Client hello (1): 
* SSLv3, TLS handshake, Server hello (2): 
* SSLv3, TLS handshake, CERT (11): 
* SSLv3, TLS handshake, Server finished (14): 
* SSLv3, TLS handshake, Client key exchange (16): 
* SSLv3, TLS change cipher, Client hello (1): 
* SSLv3, TLS handshake, Finished (20): 
* SSLv3, TLS change cipher, Client hello (1): 
* SSLv3, TLS handshake, Finished (20): 
* SSL connection using AES256-SHA 
* Server certificate: 
*  subject: C=US; ST=WA; L=Redmond; O=Microsoft Corporation;  OU=Microsoft Corporation; CN=outlook.com 
*  start date: 2015-02-13 00:38:15 GMT 
*  expire date: 2016-02-13 00:38:15 GMT 
*  subjectAltName: outlook.office365.com matched 
*  issuer: C=US; ST=Washington; L=Redmond; O=Microsoft Corporation;  OU=Microsoft IT; CN=Microsoft IT SSL SHA1 
*  SSL certificate verify ok. 
* Server auth using Basic with user '[email protected]' 
> GET /api/1.0/Me/folders/Inbox/messages HTTP/1.1 
> Authorization: Basic Ybase64stringU= 
> User-Agent: curl/7.21.3 (x86_64-pc-linux-gnu) libcurl/7.21.3  OpenSSL/0.9.8o zlib/1.2.3.4 libidn/1.18 
> Host: outlook.office365.com 
> Accept: */* 
> Content-Type:application/json 
> 
< HTTP/1.1 404 Not Found 
< Content-Length: 0 
< Server: Microsoft-IIS/8.0 
< request-id: d7967869-c282-4a28-9da2-6b80edd7d965 
< Set-Cookie: ClientId=XXQW0EIP0KK9NUIRICS8BQ; expires=Fri, 28-Oct-2016  13:04:08 GMT; path=/; secure; HttpOnly 
< X-CalculatedBETarget: AM2PR09MB0452.eurprd09.prod.outlook.com 
< X-BackEndHttpStatus: 404 
< X-DiagInfo: AM2PR09MB0452 
< X-BEServer: AM2PR09MB0452 
< X-Powered-By: ASP.NET 
< X-FEServer: HE1PR01CA0033 
< Date: Thu, 29 Oct 2015 13:04:08 GMT 
< 
* Connection #0 to host outlook.office365.com left intact 
* Closing connection #0 
* SSLv3, TLS alert, Client hello (1): 

какие-либо идеи?

ответ

1

Если вы превысили квоту, я ожидаю, что вы получите код состояния 429. Microsoft, как правило, не публикует точный порог своих услуг, так как они оставляют за собой право корректировать их ...

, так что пользователи могут потреблять максимальное количество ресурсов без снижения надежности и производительности

(Вышеприведенная цитата специально относится к Sharepoint, но, учитывая отсутствие опубликованных ограничений для почти всех API REST, я полагаю, что этот принцип имеет место).

404 обычно указывает, что что-то не совсем правильно ... если ваша учетная запись пользователя была достаточно новой, она могла бы указать, что она еще не была распространена на все серверы (хотя в вашем случае это, похоже, не является как вы должны были иметь учетную запись> 24 часа).

С URL-адреса точки зрения ... URL-адрес v1: outlook.office.com/api/v1.0/me/messages, а новый URL-адрес бита outlook.office.com/api/v1.0/me/messages, эти адреса работают для меня ... но я получаю 404, если использую адрес, который вы используете. поэтому дважды проверьте URL-адрес.

+0

А, думаю, это была комбинация вещей. Я создал код с помощью '/ ews/odata' api, и он больше не работал, внезапно возвращая 404. Поэтому я обновил его до'/api/1.0' и, как вы указали, сделал опечатку. Как только я изменил его на v1.0, он снова работал. Спасибо! – aneez

Смежные вопросы