2015年6月5日金曜日

TwitterAPIキー大量制限事件で思った事


その日は突然訪れたわけですよ。
まずは簡単に時系列の整理

2015年4月16日
ShootingStarMod-MoonStrikeでのツイート、RT、ふぁぼ等のいわゆる書き込みが不可能に
他のクライアントへ流れるがそこまで大事にならず

2015年4月20日
16日の件に関連してAPI関連で仕様と制限を理解してほしいと願って記事を書く

2015年5月25日
びよーんったーの書き込み権限が剥奪されツイートができなくなるという事態に、また一部バージョンは凍結状態へ
大量に他のクライアントへ人が流れあれやこれやが無いの意見が大量にあったが
このときはこんな大事になるとは思わなかったのは言うまでもない

2015年5月26日~30日
ユーザーが流れ込んだ他のクライアントが次々と書き込み権限を剥奪される事態に
またそれらの被害にあったクライアントのレビュー欄が大炎上する。
あるクライアントの権限剥奪をネタにアフィリエイトサイトが取り上げる。
開発者のTwitterアカウントに大量の質問リプライ届く。
Androidのアプリに対しての制限が多かったのでリンゴ信者の仕業という噂も流れる。
また多くの開発者が異議申しだてのメールを送信する。
30日あるアプリの権限が剥奪されたのをきっかけに、じみったーへも人が流れ込みだし焦る。


2015年6月1日~2日?
このあたりでTwitter社から返信がきた開発者がちらほら
しかし、本文中身は定型文。反論メールを送る人が居ないわけない。
またこの日までにアプリを逆コンパイルされAPIキーを差し替えたうえに配布されたクライアントもある。


2015年6月3日
ほとんどのクライアントの制限が解除される。
が・・・・この日までに開発者に与えたダメージは計り知れない

ここから言いたいこと言う、ちょっとキツイ目な言葉も使うのでこの先は覚悟してください。


2015年4月20日月曜日

非公式クライアントを使うユーザー「だからこそ知ってほしい」Twitterの制限とか仕様

非公式のクライアントを使っているとよくタイムラインが更新できなくなったり、投稿できなくなったりしますよね。今回は知っているようで知られていないTwitterのAPI制限について


2015年3月20日金曜日

onOptionsItemSelected()で何故かハマった件

onOptionsItemSelected()
知っての通りオプションメニューとしてボタンを配置したりActionBar上に配置したボタンが押されたことを検知するものである。
しかしある日事件が起きた。

@Override
public boolean onOptionsItemSelected(MenuItem item) {
 switch (item.getItemId()) {
  //省略
 }
return super.onOptionsItemSelected(item);
}
これが突然動かなくなったのである。
もう訳がわからないのである。
先に言っておくがしっかりcase文に指定するものはしっかり存在している、また少し前まで動いており、ソースの書き換えはしたものの、該当ソースはその際一度も触れていないのである。
そこでブレークポイントを設置して互いのIDを確認すると何故か綺麗に1バイト分数値がずれるという謎のバグが発生しているという意味不明さ
ただどうも設定していたLabel情報はしっかり正しいのが来ていたため最終的には

筋☆肉
なんだこれ・・・・
きたねぇソースだ

2015年2月23日月曜日

自作Twitterクライアント作成の記録(32)(じみったーだけに)地味にソース公開しました

すっごい今更感しますが作成中のTwitterアプリのソース公開します
各リンクは下の欄からどうぞ
なお旧版と新板の違いについてですが、旧版は2015年2月23日現在公開されてるアプリのソースになり、新板はそれのソースを書き直してるだけです。(ついでに機能追加してたり)
また新板の方へソースをコミットしていく形になるので気になる方はちょくちょく確認してみるといいかも。
また、こういうふうにしたほうがいいよとかアドバイスがあれば何かしらの手段で教えてもらえると嬉しいです。
(旧版)
https://bitbucket.org/meronmks/oldzimittaproject/src
(新板)
https://github.com/meronmks/zimitta

2015年2月5日木曜日

Twitter4Jであるエラーに悩まされた件

どうも、最近色々手を出してよくわからないことになりかけてる私です
先日Android端末をbotサーバーにするというふざけた構想のアプリを組んでるさい詰まった事柄をまとめておきます。

UserStreamAdapterを継承したクラスからViewを弄ってもエラーを吐かない。
どういうことかというとこのクラス自動的に非同期的な処理になります。ある程度組んだことがある人ならわかると思うんですがこういう場合ちょっと工夫しないとエラーで落ちてしまうんですが、これを継承したクラスでは落ちない上に処理がそこで強制的に止まってしまいます。
何もエラーが出ないため厄介なタイプのバグだと思われます。
Handlerとかを使ってあげたら解決するはずです。

FATAL EXCEPTION: Twitter4J Async Dispatcher[0]
こちらは厄介なもので出る原因は結局わからずじまいでしたが、出ないようにすることは可能でした。回避法としては、ActivityのonCreateタイミングでRESTAPIを使用するもの何かを使う。
こうすると多分おそらく落ちません、多分・・・・

以上最近になって詰まった2点でした

2015年1月27日火曜日

自作Twitterクライアント作成の記録(31)たまには趣向を変えて

進行に本当に詰まったときは別のことをするのが一番!
と思ってますがどうですかね?
というわけで久々にC#コンパイラを立ち上げちょっとした小物(ただしTwitter関連)を作ってみることに。
一応目的としては通知だけに機能を絞ったクライアントを作ることにしました。
使用ライブラリはCoreTweet
インストール方法は割愛しますがVS2013であればNuGetから簡単にインストールすることが可能です。(ちなみにやりたいものによってはそれに関連した別ライブラリをNuGetからインストールする必要がある)
さらには常駐アプリ化し、いろいろやって作成開始約2時間でここまできました
察しの良い方はわかると思いますがこれただTLをバルーン形式で通知させているだけです。
ここからある程度自分で使えるようには仕上げないとな・・・・

2015年1月1日木曜日