2018年8月10日金曜日

Twitterアプリがないと他のアプリからツイートできない?!

問題

TwitterKitでは、Twitter公式アプリをインストールしていないデバイスで、別のアプリからツイートを投稿しようとしても、以下のようなエラーを吐いて認証ができなくなってしまった。

2018-08-10 22:19:59.259526+0900 アプリ名[72348:10180750] [discovery] errors encountered while discovering extensions: Error Domain=PlugInKit Code=13 "query cancelled" UserInfo={NSLocalizedDescription=query cancelled}
2018-08-10 22:20:01.430469+0900 アプリ名[72348:10180372] [TwitterKit] Error obtaining user auth token.

たとえばXcodeのiPhoneシミュレータでテストしようとしても、いちいち公式アプリがないといけないことになる。

原因

これはツイッター社による仕様変更のためで、ここにあるように、以前はツイッターにアプリ登録の際、
https://example.com
ってごまかしていた Callback URL なるものをきちんと登録しないといけないという。

解決法

Callback URLってナニ? ってのが本音なのだが、時間がないので解決法方だけ記す。
TwitterKitを使用する際にTwitterのApplication Managementサイトでアプリの登録を行ったわけだが、新規登録の際に得られたConsumer Key (API Key) を使った擬似的なURLを書けばOKだ。



Consumer Keyが ABCDEFGHIJK だとすれば、Settingsタブで
https://example.com
のかわりに
twitterkit-ABCDEFGHIJK://
と書けばいい。
そして下のUpdate Settingsボタンを押して完了。
これですぐにアプリから認証ができるようになる。
簡単だけどめんどくさいな。

参考サイト:TwitterがインストールされていないとTwitterKitで認証できない

0 件のコメント:

コメントを投稿