TwitterException مع Xauth أثناء النشر من Android باستخدام Twitter4J

StackOverflow https://stackoverflow.com/questions/3624424

سؤال

أنا أستخدم Twitter4J-2.1.3.jar لإجراء منشور بسيط على Twitter. الرمز الذي أستخدمه هو:

System.setProperty("twitter4j.oauth.consumerKey", TWITTER_CONSUMER_KEY);
System.setProperty("twitter4j.oauth.consumerSecret",TWITTER_SECRET_KEY); 
Twitter twitter = new TwitterFactory().getInstance(username,password);
AccessToken accessToken = twitter.getOAuthAccessToken();
twitter.updateStatus(": xAuth test");

رسالة الخطأ التي أحصل عليها هي:

 TwitterException{exceptionCode=[e07c50ee-0000d883 1ac06e3f-626a1296], statusCode=401,   retryAfter=0, rateLimitStatus=null, version=2.1.3}

   at twitter4j.http.OAuthAuthorization.getOAuthAccessToken(OAuthAuthorization.java:185)
   at twitter4j.TwitterOAuthSupportBaseImpl.getOAuthAccessToken(TwitterOAuthSupportBaseImpl.java:108)
   at twitter4j.Twitter.getOAuthAccessToken(Twitter.java:54)
   at com.sfway.detailpage.CheckinTab$16$1.run(CheckinTab.java:640)
   TwitterException{exceptionCode=[1ac06e3f-626a1296], statusCode=401, retryAfter=0, rateLimitStatus=null, version=2.1.3}
   at twitter4j.internal.http.HttpClientImpl.request(HttpClientImpl.java:307)
   at twitter4j.internal.http.HttpClientWrapper.request(HttpClientWrapper.java:72)
   at twitter4j.internal.http.HttpClientWrapper.post(HttpClientWrapper.java:103)
   at twitter4j.http.OAuthAuthorization.getOAuthAccessToken(OAuthAuthorization.java:178)

حاولت طريقة أخرى مثل هذا:

ConfigurationBuilder configurationBuilder = new ConfigurationBuilder();
configurationBuilder.setOAuthConsumerKey(TWITTER_CONSUMER_KEY); 
configurationBuilder.setOAuthConsumerSecret(TWITTER_SECRET_KEY);
Configuration configuration = configurationBuilder.build();
twitter = new TwitterFactory(configuration).getInstance(username,password);
AccessToken token = twitter.getOAuthAccessToken();
twitter.updateStatus(": xAuth test");

في كلتا الطريقتين ، أحصل على الخطأ في خط "twitter.getoauthaccessToken ()". واسمحوا لي أن أعرف ما هو الخطأ. لقد قمت بتسجيل تطبيقي بالضبط 14 ساعة من قبل ، للحصول على مفتاح السر والمستهلك. هل هذا شيء يتعلق بموافقة تطبيقي لاستخدام Xauth ، إذا كانت الإجابة بنعم ، كيف يمكنني معرفة ما إذا كانت قد مكنت Xauth لتطبيقي على Twitter.

هل كانت مفيدة؟

المحلول

هل قمت بإرسال دعم Twitter عبر البريد الإلكتروني لجعلهم يقومون بتشغيل Xauth لتطبيقك؟

يريد Twitter فقط استخدام Xauth من قبل تطبيقات سطح المكتب والجوال ، لذلك فإن التطبيقات المسجلة قد تعطيل Xauth افتراضيًا ، وتحتاج إلى شخص في Twitter لتشغيله لك. إذا لم يتم تمكين تطبيق Xauth ، فستحصل على 401.

للحصول على تمكين Xauth ، أرسل بريدًا إلكترونيًا إلى api@twitter.com باسم التطبيق الخاص بك والسبب الذي يجعله يحتاج إلى Xauth بدلاً من Oauth القديم البسيط (على سبيل المثال. ليس من المناسب الظهور متصفح ويب في تطبيق سطح المكتب الخاص بي).

شكرا Dhrumil شاه

نصائح أخرى

هل قمت بفحص هذه المنشورات ؟؟

http://groups.google.com/group/twitter4j/browse_thread/thread/d6dca9622f7cc42a؟fwc=1

تبديل الإصدار قد حل هذه المشكلة للشخص

<dependency>
<groupId>org.twitter4j</groupId>
<artifactId>twitter4j-core</artifactId>
<version>2.1.0</version>
</dependency> 

لدي منشور مدونة على Twitter Oauth باستخدام Twitter4J والمكتبات الأخرى. يمكنك متابعة ذلك:http://blog.sogeti.com/mobile/2010/03/twitter-oauth-for-droid.html

أيضًا إذا كنت تستخدم Twitter4J2.1.3 كن awre ، فهو متوافق مع Android 2.0 وما فوق. اسمحوا لي أن أعرف إذا كنت لا تزال تواجه مشكلات حيث أن لدي تطبيق Twitter كامل باستخدام Twitter4J 2.0.9.

أنا أتفق مع Dhrumil شاه: أرسل بريدًا إلكترونيًا إلى Twitter على api@twitter.com لطلب تطبيق Xauth. يبدو أنك لم تقم بذلك بعد ، لذا فإن طريقة خدمة Xauth ستُرجع فقط HTTP 401 عند الاتصال بها.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top