मैं FACEBOOK के लिए XMPP क्लाइंट बना रहा हूं। मैंने जीमेल के लिए यह किया, अब मुझे फेसबुक के लिए एक ही बनाना है। मैंने कुछ कोड प्राप्त करने के लिए बहुत कुछ किया, फिर भी मुझे इस प्रकार की त्रुटियां मिल रही हैं Not connected to server
और service-unavailable(503)
फेसबुक के लिए एक्सएमपीपी चैट क्लाइंट कैसे बनाएं?
यहां मैं कोड जो साझा कर रहा हूं उसे साझा कर रहा हूं।
public class ClientJabberActivity extends Activity {
ArrayList<String> m_discussionThread;
ArrayAdapter<String> m_discussionThreadAdapter;
XMPPConnection m_connection;
private Handler m_handler;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
m_handler = new Handler();
try {
initConnection();
} catch (XMPPException e) {
e.printStackTrace();
}
final EditText recipient = (EditText) this.findViewById(R.id.recipient);
final EditText message = (EditText) this.findViewById(R.id.message);
ListView list = (ListView) this.findViewById(R.id.thread);
m_discussionThread = new ArrayList<String>();
m_discussionThreadAdapter = new ArrayAdapter<String>(this,
R.layout.multi_line_list_item, m_discussionThread);
list.setAdapter(m_discussionThreadAdapter);
Button send = (Button) this.findViewById(R.id.send);
send.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
String to = recipient.getText().toString();
String text = message.getText().toString();
Message msg = new Message(to, Message.Type.chat);
msg.setBody(text);
m_connection.sendPacket(msg);
m_discussionThread.add(" Me : ");
m_discussionThread.add(text);
m_discussionThreadAdapter.notifyDataSetChanged();
}
});
}
private void initConnection() throws XMPPException {
ConnectionConfiguration config = new ConnectionConfiguration(
"chat.facebook.com", 5222, "chat.facebook.com");
config.setSASLAuthenticationEnabled(true);
m_connection = new XMPPConnection(config);
try {
SASLAuthentication.registerSASLMechanism("X-FACEBOOK-PLATFORM",
SASLXFacebookPlatformMechanism.class);
SASLAuthentication.supportSASLMechanism("X-FACEBOOK-PLATFORM", 0);
m_connection.connect();
m_connection.login(apiKey + "|" + sessionKey, sessionSecret, "Application");
} catch (XMPPException e) {
m_connection.disconnect();
e.printStackTrace();
}
Presence presence = new Presence(Presence.Type.available);
m_connection.sendPacket(presence);
PacketFilter filter = new MessageTypeFilter(Message.Type.chat);
m_connection.addPacketListener(new PacketListener() {
public void processPacket(Packet packet) {
Message message = (Message) packet;
if (message.getBody() != null) {
String fromName = StringUtils.parseBareAddress(message
.getFrom());
m_discussionThread.add(fromName + ":");
m_discussionThread.add(message.getBody());
m_handler.post(new Runnable() {
public void run() {
m_discussionThreadAdapter.notifyDataSetChanged();
}
});
}
}
}, filter);
ChatManager chatmanager = m_connection.getChatManager();
chatmanager.addChatListener(new ChatManagerListener() {
public void chatCreated(final Chat chat,
final boolean createdLocally) {
chat.addMessageListener(new MessageListener() {
public void processMessage(Chat chat, Message message) {
System.out.println("Received message: "
+ (message != null ? message.getBody() : "NULL"));
Log.i("CHAT USER",
"Received message is: " + message.getBody());
}
});
}
});
}
}
और इस वर्ग के SASLXFacebookPlatformMechanism
मैं यह कैसे xmpp.login(apiKey + "|" + sessionKey, sessionSecret, "Application");
मुझे पता है कि कैसे acessToken, फेसबुक के लिए आवेदन कुंजी प्राप्त करने के लिए की तरह प्रवेश कर सकते हैं। मुझे sessionKey, sessionSecret के बारे में पता नहीं है कि उन मानों को कैसे प्राप्त करें और इस समस्या को कैसे हल करें।
तो मैं xmpp.login(apiKey, accessToken, "Application");
मैं इस त्रुटि हो रही है का उपयोग --IllegalArgumentException: API कुंजी या सत्र कुंजी नहीं मौजूद है
संपादित करें: अंत में मैं अमल समाधान से समाधान मिल गया: xmpp.login(apiKey, accessToken, "Application");
कुछ जवाब में पहुँच टोकन इस "| sessionKey | कुछ somethingElse" की तरह दिखता है, लेकिन मेरी पहुँच टोकन इस तरह दिखता है - AAABeS1oNtyABANFNGJRZBLn5G1SKzj3jKlSi36F2iagYi0lhwvnt0ZAHtSxbWWZB8Ehq3CY3x5JxNz5wKSAlj5xagXAm4qxPJkOh3KMTEy1HeVmNZC1l। दोनों अलग क्यों हैं .. –
क्या यह फेसबुक एसडीके एक्सेस टोकन प्रारूप को बदलता है .. –
क्या आप मुझे एफबी चैट को लागू करने के लिए अपने एंड्रॉइड प्रोजेक्ट में एक्सएमपीपी, सासल और कनेक्शन कॉन्फ़िगरेशन आयात करने के लिए जार डाउनलोड करने के लिए एक लिंक दे सकते हैं। – Arun