アプリ開発備忘録

PlayStationMobile、Android、UWPの開発備忘録

TwitterKit3-Androidで認証

メモ

private val EXTRA_CONSUMER_KEY = "ck"
private val EXTRA_CONSUMER_SECRET = "cs"
private val TWITTER_PACKAGE_NAME = "com.twitter.android"
private val SSO_CLASS_NAME = TWITTER_PACKAGE_NAME + ".SingleSignOnActivity"
val authConfig = TwitterAuthConfig("KEY", "SECRET")
Twitter.initialize(TwitterConfig.Builder(context).twitterAuthConfig(authConfig).build())


val packageName = TWITTER_PACKAGE_NAME

val ssoActivity = ComponentName(packageName, SSO_CLASS_NAME)

val intent = Intent().setComponent(ssoActivity).apply {
    putExtra(EXTRA_CONSUMER_KEY, authConfig.consumerKey)
    putExtra(EXTRA_CONSUMER_SECRET, authConfig.consumerSecret)
}

startActivityForResult(intent, 1)

公式な方法

val authClient by lazy {
    Twitter.initialize(TwitterConfig.Builder(context).twitterAuthConfig(TwitterAuthConfig(TWITTER_KEY, TWITTER_SECRET)).build()).run { TwitterAuthClient() }
}
authClient.authorize(activity, object : Callback<TwitterSession>() {
    override fun success(result: Result<TwitterSession>) {

    }

    override fun failure(e: TwitterException) {

    }
})
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
    super.onActivityResult(requestCode, resultCode, data)

    authClient.onActivityResult(requestCode, resultCode, data)
}