Webサービスの3rd party clientについて
#Discord #Slack #Twitter
関連: Feed UIに関する一考
Discord
最近のToSでは3rd party clientが禁止されてしまった模様
https://www.reddit.com/r/discordapp/comments/966x4d/third_party_discord_clients/
https://news.ycombinator.com/item?id=17462138
https://twitter.com/discordapp/status/846595091322032128?lang=ja
でもやろうとしてるのはある。ユーザ側がToS違反となる模様。Anytime Ban
https://cancel.fm/ripcord/ 結構すごそう。Chargeしようともしている。Slackも対応するmulti−serviceらしい
https://github.com/yue/wey
Twitter
Streaming APIは廃止されてしまった (2018/08)
Discord同様、実質リクエスト経路をコントロールしているにほかならないと思う
最新のREST APIだとhome timelineのrate limitが超きつい
https://developer.twitter.com/en/docs/tweets/timelines/api-reference/get-statuses-home_timeline.html
Requests / 15-min window (user auth) 15
User timelineならまあまあ余裕があるので、followingの中でアクティビティが激しいユーザを優先的にuser timeline APIで読みに行き、home timelineを補完することになりそう
https://developer.twitter.com/en/docs/tweets/timelines/api-reference/get-statuses-user_timeline
そもそも開発者プログラムが審査制になった。一応審査は通してある
以前から存在している3rd party clientは機能上はまだ動いているものが多いようだが、rate limitが厳しくなった影響で使い勝手は落ちているらしい
さらに、Twitter APIはCORS非対応という新情報。Client secretの盗難防止とかいろいろ理由つけてるが、結局の所すべて理由としては関連しているはず
OAuth1.0だと不可避的にこうなるみたいな話も
Twitterに関してはProxyサーバを用意せざるを得ないのがほぼ確定