メモ
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) }