مثال Android Twitter Xauth باستخدام Twitter4J
سؤال
Android: أحاول مثال Xauth التالي لمشاركة Android.
مصادقة Xauth لمشاركة Twitter في Android؟
System.setProperty("twitter4j.oauth.consumerKey", "your token");
System.setProperty("twitter4j.oauth.consumerSecret", "your token secret");
Twitter twitter = new TwitterFactory().getInstance(login, password);
AccessToken accessToken = twitter.getOAuthAccessToken();
//Then you must save your Token and Token secret from AccesToken
if (mAccessToken != null) {
if (mAccessToken.getToken() != null && mAccessToken.getTokenSecret() != null) {
saveAccessToken(mAccessToken.getToken(), mAccessToken.getTokenSecret());
}
}
أواجه uncledstateException
Exception Msg: java.lang.IllegalStateException: OAuth consumer key/secret combination not supplied
في السطر التالي
AccessToken accessToken = twitter.getOAuthAccessToken();
لقد قمت بإجراء تغييرات بعض الشيء مثل المتابعة
Twitter twitter = new TwitterFactory().getInstance("login", "pass");
twitter.setOAuthConsumer(getString(R.string.twtAPIKey), getString(R.string.twtSecret));
AccessToken mAccessToken = twitter.getOAuthAccessToken();
ومرة أخرى حصلت على استثناءException Msg: java.lang.IllegalStateException: Basic authenticated instance.
أي مثال عمل على Xauth؟
المحلول
لقد استخدمت المتابعة
ConfigurationBuilder configurationBuilder = new ConfigurationBuilder();
configurationBuilder.setOAuthConsumerKey(Consumer__Key);
configurationBuilder.setOAuthConsumerSecret(Consumer_Secret);
Configuration configuration = configurationBuilder.build();
Twitter twitter = new TwitterFactory(configuration).getInstance("username","password");
AccessToken token = twitter.getOAuthAccessToken();
System.out.println("Access Token " +token );
String name = token.getScreenName();
System.out.println("Screen Name" +name);
PrintWriter out= response.getWriter();
System.out.println(token);
وتسجيل الدخول بنجاح إلى Twitter باستخدام تطبيق Android باستخدام Xauth
نصائح أخرى
الإصدار 2.2.2 من Twitter4J كتغيير بسيط. هذا يعمل:
Configuration configuration = new ConfigurationBuilder()
.setOAuthConsumerKey("your_customer_key")
.setOAuthConsumerSecret("your_customer_secret")
.build();
Twitter twitter = new TwitterFactory(configuration).getInstance(new BasicAuthorization(username, password)); // yes, use "BasicAuthorization" although that seems strange
AccessToken token = twitter.getOAuthAccessToken();
Log.d(TAG, "Access token: " + token.getToken());
Log.d(TAG, "Access token secret: " + token.getTokenSecret());
تذكر أن تطبيق عميل Twitter الخاص بك يجب أن يكون مخول لاستخدام Xauth قبل هذا يعمل.
لا تنتمي إلى StackOverflow