2012-10-12 9 views
2

Следую инструкциям, представленным в http://dalibornasevic.com/posts/35-how-to-send-private-messages-with-facebook-api, чтобы отправить сообщение моему другу и в настоящее время тестировать из командной строки. Ниже приводится код, я используюОшибка при отправке сообщения с использованием xmpp4r_facebook

require 'xmpp4r_facebook' 

id = '<my facebook id>@chat.facebook.com' 
to = '<my friend facebook id>@chat.facebook.com' 
body = "hello, Im not spam!" 
subject = 'message from ruby' 
message = Jabber::Message.new to, body 
message.subject = subject 

client = Jabber::Client.new Jabber::JID.new(id) 
client.connect 
client.auth_sasl(Jabber::SASL::XFacebookPlatform.new(client, '<App ID>', '<access token got from https://developers.facebook.com/tools/explorer>', 'App Secret'), nil) 

Я получаю ошибку

RuntimeError: not-authorized 
     from /Users/apple/.rvm/gems/ruby-1.9.3-p194/gems/xmpp4r_facebook-0.1.1/lib/xmpp4r_facebook.rb:103:in `auth' 
     from /Users/apple/.rvm/gems/ruby-1.9.3-p194/gems/xmpp4r-0.5/lib/xmpp4r/client.rb:171:in `auth_sasl' 
     from (irb):12 
     from /Users/apple/.rvm/rubies/ruby-1.9.3-p194/bin/irb:16:in `<main>' 

ответ

2

Похоже, вы не дали разрешения на xmpp_login разрешения, как говорится в сообщении

не разрешенным

Если у вас есть правильное разрешение, должен работать, и вы должны получить ответ, похожий на

<iq xmlns='jabber:client' type='result' id='2027'> ... </> 

Проверьте ваш маркер доступа с https://developers.facebook.com/tools/debug

+0

от того, когда я пытаюсь отладки, я получаю следующие области под ним. email publish_actions read_mailbox sms user_about_me user_birthday user_education_history user_events user_hometown user_interests user_location user_notes user_subscriptions user_website user_work_history xmpp_login – raju

+0

@santu можете ли вы разместить ответ после 'client.connect' – phwd

+0

Я использовал идентификатор APP, который я получил при регистрации моего приложения (в https: // разработчики .facebook.com/apps) в developers.facebook и получил ошибку. Но идентификатор приложения, который я получил, проверяя мой токен доступа, отличается и работает. Я все еще не могу отправить сообщение, но также не получаю ошибку на этом этапе. – raju

Смежные вопросы