以往Twitter的search API是不需要任何認證, 也不需要設定啥App ID或啥consumer key的, 不過, 在API 1.1之後, 這就改了
因為1.1, search也列入rate limit的追蹤囉, 所以使用search API也要做認證(Authentication), 但由於search api的使用情境, 不見得一定需要使用者登入, 有些做資料分析的應用也有可能會用到, 所以強制用OAuth就有點不是很合理, 所幸, 除了用OAuth以外, 這類的API也可以使用Application-only authentication:
- 首先必須要用Basic Auth的方式取得token, 用consumer key當user name, consumer secret當password去呼叫/oauth2/token的API
- 使用POST
- 必須要有grant_type=client_credentials
- 成功的話就會得到access_token (注意token type為bearer)
- 使用這個token去呼叫API (search或其他不需要user login的API)
- 把token加在HTTP的Authentication header (像是: Authorization: Bearer AAAAAAAAAAAAAAAA )
- 一定要走SSL (https), 如果是非SSL會碰到"Bad Authentication data"的錯誤
以下是Sample code (使用Go):
via Blogger http://bit.ly/X79jKT