tm_twitter_apiを使っていてTwitterのOAuthが失敗する場合の解決方法

tm_twitter_api(https://github.com/mogya/tm_twitter_api)の oauth_adapter.js のPINコードを取得するところが

var pin = webView.evalJS('window.document.querySelector(\'kbd[aria-labelledby="code-desc"] > code\').innerHTML');

ってなってるんだけど、twitterが戻してくるHTMLの形式が違うことがあってPINコードが取れない場合があった

var pin = webView.evalJS('window.document.querySelector(\'kbd[aria-labelledby="code-desc"] > code\').innerHTML');
if (!pin) {
  pin = webView.evalJS('document.getElementById("pin_code").innerHTML');
}

で、大丈夫そうだと思ってたんだけど、プルリクエスト出そうかなぁと思いながらgithubを眺めてたら

var pin = webView.evalJS('document.getElementById("pin_code").innerText');
if (!pin) {
  pin = webView.evalJS('document.getElementById("pin-code").innerText');
}

としておいた方が良いのかも。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です