• 0
Ahmed Abd El-Rasoul

ازاى اربط ال Twitter with Java

سؤال

السلام عليكم ورحمة الله وبركاته

اود ان اعمل tweet ع تويتر عن طريق برنامج SE

ونزلت مكتبتين الاوله

twitter4j

هنا انا بعمل


twitter4j.Twitter twitter=new Twitter(jTextField1.getText().toString(), jTextField2.getText().toString());
System.out.print(twitter.isOAuthEnabled());

هنا انا بدخل اسم المستخدم والرقم السرى

بيرجع false

والثانيه

jtwitter

بستخدمها برضوى بيرجعلى false

ياريت المساعدة وجزاكم الله خيرا

تم تعديل بواسطه Ahmed Abd El-Rasoul
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

13 إجابة على هذا السؤال .

  • 0

بالنسبة ل Twitter4J :

يستوجب عليك الحصول على معلومات الدخول ووضعها في ملف twitter4j.properties ، بعد ذلك تستطيع عمل الكائن :

Twitter twitter = new TwitterFactory().getInstance();

ويمكنك قرائه الملف فور فتح التطبيق مباشره :


class TwitterDaemon {
private static String userName ;

/**
* Static initializing block
* Read Twitter Configuration information from java properties file
* @throw IOException if the file not found, then close the application
*/
static {
try {
Properties properties = new Properties();
InputStream inputStream = new FileInputStream("twitter.properties");
properties.load(inputStream);
inputStream.close();

userName = properties.getProperty("twitter.username");
}
catch(IOException e) {
System.exit(1);
}
}

public static void main(String[] args) {
// do your work
}
}

المعلومات في الملف twitter4j.properties تكون بهذا الشكل:

oauth.consumerKey= VLIyWMw

oauth.consumerSecret= m4coqVMylCLWvGY0K

oauth.accessToken= 34833934OPU

oauth.accessTokenSecret= 6uBsJUjhyh2K

او طريقة اخرى بدون هذا الملف، من خلال ConfigurationBuilder :


ConfigurationBuilder cb = new ConfigurationBuilder();
cb.setDebugEnabled(true)
.setOAuthConsumerKey("*********************")
.setOAuthConsumerSecret("******************************************")
.setOAuthAccessToken("**************************************************")
.setOAuthAccessTokenSecret("******************************************");
TwitterFactory tf = new TwitterFactory(cb.build());
Twitter twitter = tf.getInstance();

تستطيع الحصول على هذه المعلومات بعد تسجيلك للتطبيق في تويتر:

https://dev.twitter.com/docs/auth/oauth/faq

https://dev.twitter.com/apps/new

بالتوفيق،

تم تعديل بواسطه Wajdy Essam
2

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

الف شكر يا استاذ وجدى ع ردك السريع

وجزاك الله خيرا :)

انا جربت تمام بس ف خطا مش عارف ايه ؟



/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package javaapplication1;

import java.util.logging.Level;
import java.util.logging.Logger;
import twitter4j.Status;
import twitter4j.Twitter;
import twitter4j.TwitterException;
import twitter4j.TwitterFactory;
import twitter4j.conf.ConfigurationBuilder;

/**
*
* @author edku dreams
*/
public class NewClass {
public static void main(String[] args) {
try {
ConfigurationBuilder cb = new ConfigurationBuilder();
cb.setDebugEnabled(true)
.setOAuthConsumerKey("RGw9RanGpHhvCbbnhytre4ZTcpUGcw")
.setOAuthConsumerSecret("4ihOYnwago6zMLbvfsfhdAxo53ibSOExilefY7OZSr2W3aw")
.setOAuthAccessToken("308897231-5vHeR83w5pXft7ioyf1zFo8RvAaaCxprMoO533aNP1y4")
.setOAuthAccessTokenSecret("UFNFq83FbsnMOINE4tEbbbbxFPpFhu4ik8DGOvuNum1mYOw");

TwitterFactory tf = new TwitterFactory(cb.build());
Twitter twitter = tf.getInstance();

System.out.print(twitter.isOAuthEnabled());

String st="tweet by java hhhhhh";

Status status=twitter.updateStatus(st);
System.out.print(" text : "+status.getText() +"at :"+status.getCreatedAt());


//twitter.updateStatus("tweet with netbeans ");
} catch (TwitterException ex) {
Logger.getLogger(NewClass.class.getName()).log(Level.SEVERE, null, ex);
}


}

}


والخطا اهو ف الصورة التالية

post-243732-015955700 1329141971_thumb.g

ياريت ححد يرد يا جماعة

تم تعديل بواسطه Ahmed Abd El-Rasoul
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

الكود يعمل بدون مشاكل ، جربته على مفاتيحي ، بينما في المفاتيح الخاصه بك لا يعمل والسبب لديك في أحدى المفاتيح تأكد منها مجدداً:

Ensure that you have set valid conumer key/secret

بالتوفيق،

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم ورحمة الله وبركاته

يا جماعة ال Exception ده مالوش حل ولا ايه ؟

post-243732-072515900 1329345648_thumb.g


import java.io.IOException;


import java.io.IOException;

import twitter4j.ResponseList;
import twitter4j.Status;
import twitter4j.Twitter;
import twitter4j.TwitterException;
import twitter4j.TwitterFactory;
import twitter4j.http.AccessToken;

public class twitter {


private final static String CONSUMER_KEY = "CONSUMER_KEY";
private final static String CONSUMER_KEY_SECRET =
"CONSUMER_KEY_SECRET";

public void startt() throws TwitterException, IOException {

Twitter twitter = new TwitterFactory().getInstance();
twitter.setOAuthConsumer(CONSUMER_KEY, CONSUMER_KEY_SECRET);

// here's the difference
String accessToken = getSavedAccessToken();
String accessTokenSecret = getSavedAccessTokenSecret();
AccessToken oathAccessToken = new AccessToken(accessToken, accessTokenSecret);

twitter.setOAuthAccessToken(oathAccessToken);
// end of difference

twitter.updateStatus("Hi, im updating status again from Namex Tweet for Demo");
//
System.out.println("\nMy Timeline:");

// I'm reading your timeline
ResponseList<Status> list = twitter.getHomeTimeline();

for (Status each : list) {

System.out.println("Sent by: @" + each.getUser().getScreenName()
+ " - " + each.getUser().getName() + "\n" + each.getText()
+ "\n");
}
Status status=twitter.updateStatus("tweet by Java ");
System.out.println(status.getText()+", date : "+status.getCreatedAt());
}

private String getSavedAccessTokenSecret() {
// consider this is method to get your previously saved Access Token
// Secret
return "Access Token Secret";
}

private String getSavedAccessToken() {
// consider this is method to get your previously saved Access Token
return "308897231-Access Token";
}

public static void main(String[] args) {

twitter twitter=new twitter();
try {
twitter.startt();
} catch (TwitterException e) {
// TODO Auto-generated catch block
System.out.println(e.getMessage());
} catch (IOException e) {
// TODO Auto-generated catch block
System.out.println(e.getMessage());
}
}

}


ياريت حل للمشكلة دى ؟؟؟؟ :wacko:

وجزاكم الله خيرا

هو الملف ده اعمله فين وازاى ؟

{"error":"Timestamp out of bounds","request":"\/1\/statuses\/update.json"}

وكل الامثلة المشروحة ع الويب بيرسل اسم المستخدم والرقم السرى ل


Twitter twitter=new Twitter(screenName, password);

كل الامثلة بالطريقة دى

ياريت المسااااااااعدة

تم تعديل بواسطه Ahmed Abd El-Rasoul
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

الصورة السابقة هي الtimeline لك، وتكون على هيئة JSON ..

ماالذي تريد فعله بالضبط؟

وهل المفاتيح لديك صحيحة ؟

بالتوفيق،

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

تمام

انا عايزاعرف انا اللى بعمل الملف ده ولا ايه ؟ الtimeline

والخطا اللى بيجيلى ديما هو

{"error":"Timestamp out of bounds","request":"\/1\/statuses\/update.json"}

يعنى ايه ؟؟؟؟

انا عايز اعمل تحديث لل Status

نعم المفاتيح صحيحة

الله يكرمك يارب

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

يجماعة كده شغال صح ؟

post-243732-076470100 1329393722_thumb.g

أي نعم

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

تمام

انا عايزاعرف انا اللى بعمل الملف ده ولا ايه ؟ الtimeline

والخطا اللى بيجيلى ديما هو

{"error":"Timestamp out of bounds","request":"\/1\/statuses\/update.json"}

يعنى ايه ؟؟؟؟

انا عايز اعمل تحديث لل Status

نعم المفاتيح صحيحة

الله يكرمك يارب

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

هذا الخطأ راجع من الخادم الخاص بـ twitter تأكد من أنه ليس لديك مشكلة معينة في التعامل معهم

أو ربما تكون الـ API التي تعمل عليها قديمة أو ما شابه

تحياتي

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .