小编Pra*_*bhu的帖子

如何使用Smack在XMPP服务器中按名称搜索注册用户?

我正在使用asmack库开发Android中的聊天应用程序.我正在使用EJABBERD XMPP服务器.我已经完成了一些功能,包括登录,注册和名册条目等,

现在我想从XMPP服务器搜索注册用户发送好友请求.我用Google搜索并尝试了一些代码,但仍未获得成功.

我正在使用以下代码从XMPP服务器搜索用户.

UserSearchManager userSearchManager = new UserSearchManager(connection);
Form searchForm = userSearchManager.getSearchForm("search." + connection.getServiceName());
Form answerForm = searchForm.createAnswerForm();
answerForm.setAnswer("Name", true);
answerForm.setAnswer("search", "test"); // here i'm passsing the Text value to search

ReportedData resultData;
resultData = userSearchManager.getSearchResults(answerForm, "search."+ connection.getServiceName());

Iterator<Row> it = resultData.getRows();
Row row = null;
while (it.hasNext()) {
    String value = it.next().toString();
    Log.i("Iteartor values......", " " + value);
    System.out.println("Jabber_id :" + row.getValues("jid").next().toString());
    System.out.println("Name :" + row.getValues("Name").next().toString());
    row = it.next();
}
Run Code Online (Sandbox Code Playgroud)

当我执行上面的代码.我在LogCat中收到以下错误.

service-unavailable(503)

    at org.jivesoftware.smackx.search.UserSearch.getSearchForm(UserSearch.java:84)

    at org.jivesoftware.smackx.search.UserSearchManager.getSearchForm(UserSearchManager.java:73)
Run Code Online (Sandbox Code Playgroud)

要获得搜索结果需要进行哪些更改?

ejabberd.cfg …

xmpp smack

7
推荐指数
1
解决办法
4369
查看次数

节点js用于XMPP协议?

我想为移动应用程序开发即时消息,如whatsapp,nodejs作为我的后端.我已经阅读了XMPP协议并阅读了xmpp.org文档.

我提到了这个链接,我能够构建一些基本的XMPP功能,如创建和消息传递用户.但我仍然无法在nodejs中实现XMPP的完整功能.

那么:是否有任何节点js libaries可用于构建xmpp协议的完整功能,例如asmack?或者,如何通过XMLXMPP服务器发送调用?

javascript xmpp xmlnode node.js xmppframework

6
推荐指数
1
解决办法
1234
查看次数

在Titanium Appcelerator中使用strshe js?

我想使用Strophe.js库在Titanium appcelerator中创建一个聊天应用程序.我也经历过strshe js库及其文档.我相信我们可以使用strophe.js在web中构建基于xmpp的聊天应用程序.

在此先感谢,任何人都可以澄清以下疑惑,

  • 是否可以在我们的Titanium Appcelerator中使用strophe js,如果是,请建议我如何使用它.我试图在钛内部包括strophe js,它显示无法找到模块错误

这是我试过的代码.

Ti.include("includes/strophe.js");
Ti.include("includes/strophe.register.js");
connection.register.connect("localhost:5280", callback, wait, hold);
var callback = function (status) {
    if (status === Strophe.Status.REGISTER) {
        connection.register.fields.username = "newuser";
        connection.register.fields.password = "123456";
        connection.register.submit();
    } else if (status ===  Strophe.Status.REGISTERED) {
        console.log("registered!");
        connection.authenticate();
    } else if (status ===  Strophe.Status.CONNECTED) {
        console.log("logged in!");
    } else {
        // every other status a connection.connect would receive
    }
};
$.index.open();
Run Code Online (Sandbox Code Playgroud)
  • 您能否建议使用可在Titanium Appceleartor中使用的任何其他库来使用XMPP构建聊天应用程序

xmpp ejabberd titanium strophe titanium-mobile

6
推荐指数
1
解决办法
432
查看次数

Yahoo OAuth 1.0回调问题?

我想在我的网络应用程序中使用Yahoo Fantasy sport API,因为我使用OAuth进行Yahoo登录.我有消费者密钥和密钥,我成功传递了密钥,当我运行以下代码时.它重定向到Yahoo登录,它要求访问用户凭据的权限.如果我将页面重定向到https://api.login.yahoo.com/oauth/v2/request_auth,它会显示验证码.如果我按下验证码页面中的关闭按钮,则不会回调到我的网址.

 @ts=Time.now.to_i
    @callback_url = "http://localhost:3000/callback"
    @nonce = SecureRandom.hex()

       consumer = OAuth::Consumer.new("my consumerkey","secret key",
          { :site => 'https://api.login.yahoo.com', 
          :http_method => :post, 
          :scheme => :header,
          :oauth_nonce => @nonce,
          :request_token_path => '/oauth/v2/get_request_token', 
          :authorize_path => '/oauth/v2/request_auth', 
          :access_token_path => '/oauth/v2/get_token', 
          :oauth_callback => "http://localhost:3000/callback",
          :oauth_timestamp => Time.now.to_i,
          :oauth_signature_method => "HMAC-SHA-1",
          :oauth_version => "1.0",
          :oauth_callback_confirmed => true,
         })

    request_token = consumer.get_request_token
    session[:request_token]=request_token
    redirect_to request_token.authorize_url
    access_token=request_token.get_access_token
    access = ActiveSupport::JSON.decode(access_token.to_json)
     if !(access.present?)
      @response = "Response failed"  
    else
      @response = access  
    end
Run Code Online (Sandbox Code Playgroud)

你能否告诉我为获得access_token而进行的回调有哪些变化?

ruby-on-rails oauth omniauth yahoo-api yahoo-oauth

5
推荐指数
1
解决办法
760
查看次数

如何使用XMPP Server发送推送通知?

我想在iphone中开发一个聊天应用程序.我正在使用ejabberd xmpp服务器.现在我可以向其他用户发送消息了.

现在我想通过推送通知接收消息.

我听说我们可以使用xmpp服务器发送推送通知.

所以任何人都可以告诉我,我想知道如何

  • 是否可以使用ejabberd发送推送通知

  • 是否可以使用节点js从ejabberd xmpp服务器发送推送通知.

请给出任何建议,开始在xmpp中使用消息通知.

xmpp ejabberd push-notification node.js xmppframework

5
推荐指数
1
解决办法
1941
查看次数

如何使用CNContactPickerViewController与目标c?

嗨,我是iOS开发的新手.我想从默认联系人应用中选择一个联系人.为此,我创建了一个应用程序,允许用户从iPhone默认联系人应用程序中选择一个联系人.对于iOS 9+版本,我使用以下剪辑.

- (IBAction)btnAction:(id)sender {

    CNContactPickerViewController *contactPicker = [[CNContactPickerViewController alloc] init];

    contactPicker.delegate = self;
    contactPicker.displayedPropertyKeys = (NSArray *)CNContactGivenNameKey;

    [self presentViewController:picker animated:YES completion:nil];
}

-(void) contactPicker:(CNContactPickerViewController *)picker didSelectContact:(CNContact *)contact{
    NSLog(@"Contact : %@",contact);
}

-(void)contactPickerDidCancel:(CNContactPickerViewController *)picker {
    NSLog(@"Cancelled");
}
Run Code Online (Sandbox Code Playgroud)

我还在我的uiviewcontroller中添加了CNContactPickerDelegate委托.当我执行上面的代码时,它会打开联系人应用程序,但是当点击联系人时,该应用程序将变为空白.

在此先感谢,任何人都可以分享您的知识,在Objective-C中使用CNContactPickerViewController.

objective-c ios ios9 cncontact

0
推荐指数
1
解决办法
5593
查看次数