Hello I am responsible for a Twitter product at my company we maintain several scripts using 7 different oauths pulling a reasonable amount of tweets into a database. On 24/3/14 we had a complete cessation of data flow our team has run the suggested diagnostics on the disscussion forums the results are posted below. Any community or Twitter assistance is greatly appreciated.
curl --get ‘https://api.twitter.com/1.1/’ --header ‘Authorization: OAuth oauth _consumer_key="xxxxxxxxxxxxx, oauth_nonce=“xxxxxxxxxxxxxx”, oauth_signature=“xxxxxxxxxxxxxxxxxxx”, oauth_signature_m ethod=“HMAC-SHA1”, oauth_timestamp=“1396018285”, oauth_token=“xxxxxxxxxxxxxxxxxxxxxx”, oauth_version=“1.0”’ --verbose
Results in
STATE: INIT => CONNECT handle 0x60002dd10; line 1011 (connection #-5000)
- Hostname was NOT found in DNS cache
- Trying 199.16.156.72…
- Adding handle: conn: 0x600069d20
- Adding handle: send: 0
- Adding handle: recv: 0
- Curl_addHandleToPipeline: length: 1
- 0x60002dd10 is at send pipe head!
-
- Conn 0 (0x600069d20) send_pipe: 1, recv_pipe: 0
- STATE: CONNECT => WAITCONNECT handle 0x60002dd10; line 1058 (connection #0)
- Connected to api.twitter.com (199.16.156.72) port 443 (#0)
- successfully set certificate verify locations:
- CAfile: /usr/ssl/certs/ca-bundle.crt
CApath: none
- SSLv3, TLS handshake, Client hello (1):
- STATE: WAITCONNECT => PROTOCONNECT handle 0x60002dd10; line 1171 (connection #0)
- SSLv3, TLS handshake, Server hello (2):
- SSLv3, TLS handshake, CERT (11):
- SSLv3, TLS handshake, Server key exchange (12):
- 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 ECDHE-RSA-AES128-GCM-SHA256
- Server certificate:
-
subject: C=US; ST=California; L=San Francisco; O=Twitter, Inc.; OU=Twitter Security; CN=api.twitter.com
-
start date: 2013-10-10 00:00:00 GMT
-
expire date: 2014-10-10 23:59:59 GMT
-
subjectAltName: api.twitter.com matched
-
issuer: C=US; O=VeriSign, Inc.; OU=VeriSign Trust Network; OU=Terms of use at https://www.verisign.com/rpa (c)10; CN=VeriSign Class 3 Secure Server CA - G3
-
SSL certificate verify ok.
- STATE: PROTOCONNECT => DO handle 0x60002dd10; line 1190 (connection #0)
GET /1.1/ HTTP/1.1
User-Agent: curl/7.34.0
Host: api.twitter.com
Accept: /
Authorization: OAuth oauth_consumer_key=“xxxxxxxxx”, oauth_nonce=“ff3f899db86710f335c88bef242bc05b”, oauth_signature=“xxxxxxxxxxxx”, oauth_signature_method=“HMAC-SHA1”, oauth_timestamp=“1396018285”, oauth_token=“xxxxxxxx”, oauth_version=“1.0”
- STATE: DO => DO_DONE handle 0x60002dd10; line 1263 (connection #0)
- STATE: DO_DONE => WAITPERFORM handle 0x60002dd10; line 1384 (connection #0)
- STATE: WAITPERFORM => PERFORM handle 0x60002dd10; line 1395 (connection #0)
- HTTP 1.1 or later with persistent connection, pipelining supported
< HTTP/1.1 404 Not Found
< cache-control: no-cache, no-store, must-revalidate, pre-check=0, post-check=0
< content-length: 5720
< content-type: text/html; charset=UTF-8
< date: Fri, 28 Mar 2014 14:52:35 GMT
< expires: Tue, 31 Mar 1981 05:00:00 GMT
< last-modified: Fri, 28 Mar 2014 14:52:35 GMT
< pragma: no-cache
- Server tfe is not blacklisted
< server: tfe
< set-cookie: dnt=; domain=.twitter.com; path=/; expires=Thu, 01-Jan-1970 00:00:00 GMT
< set-cookie: lang=en; path=/
< set-cookie: lang=en; path=/
< set-cookie: _twitter_sess=BAh7CDoPY3JlYXRlZF9hdGwrCMubLQlFAToHaWQiJTk3YzUzYzhkNzEwZmYz%250AOWYzZjQxZTcwN2MzN2RkOGRjIgpmbGFzaElDOidBY3Rpb25Db250cm9sbGVy%250AOjpGbGFzaDo6Rmxhc2hIYXNoewAGOgpAdXNlZHsA–dadc414bb5ea88d7912e3fbbd4249550935d2d2d; domain=.twitter.com; path=/; secure; HttpOnly
< set-cookie: guest_id=v1%3A139601835503957513; Domain=.twitter.com; Path=/; Expires=Sun, 27-Mar-2016 14:52:35 UTC
< status: 404 Not Found
< strict-transport-security: max-age=631138519
< vary: Accept-Encoding
< x-frame-options: SAMEORIGIN
< x-mid: 43aaeb0d89b5fda222665d6a3bad1d0f5d171b91
< x-rate-limit-limit: 15
< x-rate-limit-remaining: 14
< x-rate-limit-reset: 1396019255
< x-transaction: 02ab2d560b18d582
< x-ua-compatible: IE=edge,chrome=1
< x-xss-protection: 1; mode=block
<
Twitter / ?
<h1>Sorry, that page doesn’t exist!</h1>
<p>Thanks for noticing—we're going to fix it up and have things back to normal soon.</p>
<form class="search-404" action="https://twitter.com/search" method="get">
<input id="search_q" name="q" type="text" aria-label="Search query" placeholder="Search for a topic, full name, or @username">
<input class="btn" id="search_submit" type="submit" value="Search">
</form>
<div class="footer">
<ul class="languages">
<li><a data-language="af" href="#">Afrikaans</a></li>
<li><a data-language="ar" href="#">العربية</a></li>
<li><a data-language="be" href="#">беларуская</a></li>
<li><a data-language="bg" href="#">Български език</a></li>
<li><a data-language="ca" href="#">català</a></li>
<li><a data-language="cs" href="#">Čeština</a></li>
<li><a data-language="cy" href="#">Cymraeg</a></li>
<li><a data-language="da" href="#">Dansk</a></li>
<li><a data-language="de" href="#">Deutsch</a></li>
<li><a data-language="el" href="#">Ελληνικά</a></li>
<li><a data-language="en" href="#">English</a></li>
<li><a data-language="en-gb" href="#">English (UK)</a></li>
<li><a data-language="es" href="#">Español</a></li>
<li><a data-language="eu" href="#">Euskara</a></li>
<li><a data-language="fa" href="#">فارسی</a></li>
<li><a data-language="fi" href="#">Suomi</a></li>
<li><a data-language="fil" href="#">Filipino</a></li>
<li><a data-language="fr" href="#">Français</a></li>
<li><a data-language="ga" href="#">Gaeilge</a></li>
<li><a data-language="gl" href="#">Galego</a></li>
<li><a data-language="he" href="#">עברית</a></li>
<li><a data-language="hi" href="#">हिन्दी</a></li>
<li><a data-language="hr" href="#">hrvatski</a></li>
<li><a data-language="hu" href="#">Magyar</a></li>
<li><a data-language="id" href="#">Indonesian</a></li>
<li><a data-language="it" href="#">Italiano</a></li>
<li><a data-language="ja" href="#">日本語</a></li>
<li><a data-language="ko" href="#">한국어</a></li>
<li><a data-language="ku" href="#">Kurdî (Kurmanji)</a></li>
<li><a data-language="msa" href="#">Malay</a></li>
<li><a data-language="nl" href="#">Nederlands</a></li>
<li><a data-language="no" href="#">Norsk</a></li>
<li><a data-language="pl" href="#">Polski</a></li>
<li><a data-language="pt" href="#">português (Brasil)</a></li>
<li><a data-language="ro" href="#">română</a></li>
<li><a data-language="ru" href="#">Русский</a></li>
<li><a data-language="sk" href="#">slovenčina</a></li>
<li><a data-language="sq" href="#">shqip</a></li>
<li><a data-language="sr" href="#">srpski</a></li>
<li><a data-language="sv" href="#">Svenska</a></li>
<li><a data-language="th" href="#">ภาษาไทย</a></li>
<li><a data-language="tr" href="#">Türkçe</a></li>
<li><a data-language="uk" href="#">Українська мова</a></li>
<li><a data-language="ur" href="#">اردو</a></li>
<li><a data-language="vi" href="#">Tiếng Việt</a></li>
<li><a data-language="xx-lc" href="#">LOLCATZ</a></li>
<li><a data-language="zh-cn" href="#">简体中文</a></li>
<li><a data-language="zh-tw" href="#">繁體中文</a></li>
</ul>
<ul class="links">
<li class="first">© 2014 Twitter</li>
<li><a href="https://twitter.com/about">About</a></li>
<li><a href="https://support.twitter.com">Help</a></li>
<li><a href="http://status.twitter.com/">Status</a></li>
</ul>
</div>
</div>
</div>
<script src="https://abs.twimg.com/errors/404-edf30e3e35a76d0e7755c4a48e17199d.js"></script>
* STATE: PERFORM => DONE handle 0x60002dd10; line 1565 (connection #0)
* Connection #0 to host api.twitter.com left intact
* Expire cleared
--------------------------------------------------------------------------
I also ran
$ curl --verbose “https://api.twitter.com/1.1/help/test.json”
Resulting in
$ curl --verbose “https://api.twitter.com/1.1/help/test.json”
- STATE: INIT => CONNECT handle 0x60002dd10; line 1011 (connection #-5000)
- Hostname was NOT found in DNS cache
- Trying 199.16.156.40…
- Adding handle: conn: 0x600069c00
- Adding handle: send: 0
- Adding handle: recv: 0
- Curl_addHandleToPipeline: length: 1
- 0x60002dd10 is at send pipe head!
-
- Conn 0 (0x600069c00) send_pipe: 1, recv_pipe: 0
- STATE: CONNECT => WAITCONNECT handle 0x60002dd10; line 1058 (connection #0)
- Connected to api.twitter.com (199.16.156.40) port 443 (#0)
- successfully set certificate verify locations:
- CAfile: /usr/ssl/certs/ca-bundle.crt
CApath: none
- SSLv3, TLS handshake, Client hello (1):
- STATE: WAITCONNECT => PROTOCONNECT handle 0x60002dd10; line 1171 (connection #0)
- SSLv3, TLS handshake, Server hello (2):
- SSLv3, TLS handshake, CERT (11):
- SSLv3, TLS handshake, Server key exchange (12):
- 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 ECDHE-RSA-AES128-GCM-SHA256
- Server certificate:
-
subject: C=US; ST=California; L=San Francisco; O=Twitter, Inc.; OU=Twitter Security; CN=api.twitter.com
-
start date: 2013-10-10 00:00:00 GMT
-
expire date: 2014-10-10 23:59:59 GMT
-
subjectAltName: api.twitter.com matched
-
issuer: C=US; O=VeriSign, Inc.; OU=VeriSign Trust Network; OU=Terms of use at https://www.verisign.com/rpa (c)10; CN=VeriSign Class 3 Secure Server CA - G3
-
SSL certificate verify ok.
- STATE: PROTOCONNECT => DO handle 0x60002dd10; line 1190 (connection #0)
GET /1.1/help/test.json HTTP/1.1
User-Agent: curl/7.34.0
Host: api.twitter.com
Accept: /
- STATE: DO => DO_DONE handle 0x60002dd10; line 1263 (connection #0)
- STATE: DO_DONE => WAITPERFORM handle 0x60002dd10; line 1384 (connection #0)
- STATE: WAITPERFORM => PERFORM handle 0x60002dd10; line 1395 (connection #0)
- HTTP 1.1 or later with persistent connection, pipelining supported
< HTTP/1.1 400 Bad Request
< content-length: 61
< content-type: application/json; charset=utf-8
< date: Fri, 28 Mar 2014 15:19:35 UTC
- Server tfe is not blacklisted
< server: tfe
< set-cookie: guest_id=v1%3A139601997599523554; Domain=.twitter.com; Path=/; Expires=Sun, 27-Mar-2016 15:19:35 UTC
< strict-transport-security: max-age=631138519
<
- STATE: PERFORM => DONE handle 0x60002dd10; line 1565 (connection #0)
- Connection #0 to host api.twitter.com left intact
- Expire cleared
{“errors”:[{“message”:“Bad Authentication data”,“code”:215}]}