使用Appcelerator将表情符号共享到Twitter提要

使用Appcelerator将表情符号共享到Twitter提要,twitter,appcelerator,emoji,Twitter,Appcelerator,Emoji,我已经使用这个方法()在Twitter上进行身份验证有一段时间了。我目前正在使用Ti Studio 4.2.0.201508141038,Ti SDK 3.5.1。我知道这是一个有点旧,但我对这个版本的支持的原因 我正试图允许分享在文本区输入的文本到twitter,包括表情符号。出于某种原因,分享到Facebook就像一种魅力,但我收到了twitter“����". 请注意,到目前为止,我只测试过iOS,Android也会这样做 是否有一些编码方法,我应该使用,将使我通过这一点 我发布的代码如下

我已经使用这个方法()在Twitter上进行身份验证有一段时间了。我目前正在使用Ti Studio 4.2.0.201508141038,Ti SDK 3.5.1。我知道这是一个有点旧,但我对这个版本的支持的原因

我正试图允许分享在文本区输入的文本到twitter,包括表情符号。出于某种原因,分享到Facebook就像一种魅力,但我收到了twitter“����". 请注意,到目前为止,我只测试过iOS,Android也会这样做

是否有一些编码方法,我应该使用,将使我通过这一点

我发布的代码如下所示:

var Twitter = require('twitter').Twitter;

var client = Twitter({
  consumerKey: consumerKey,
  consumerSecret: consumerSecret,
  accessTokenKey: accessTokenKey, 
  accessTokenSecret: accessTokenSecret
});

client.addEventListener('login', function(e) {
  if (e.success) {
    Ti.App.Properties.setString('twitterAccessTokenKey', e.accessTokenKey);
    Ti.App.Properties.setString('twitterAccessTokenSecret', e.accessTokenSecret);

    var tweet = textArea.value.replace(/[\n\r]/g, '');

    client.request("1.1/statuses/update.json", {status: tweet, trim_user:'t'}, 'POST', function(e) {
      if (e.success) {
        console.log('success');
      } else  {
        console.log('Twitter Post failed.\nDetail is:'+JSON.stringify(e.data));
      }
    });
  } else {
    Ti.API.debug(JSON.stringify(e));
  }
});

client.authorize();
有趣的是,我发现如果我让tweet等于:

var tweet = textArea.value.replace(/[\n\r]/g, '') + '\ue415';
我确实在推特上得到了一个笑脸,但只有在我的设备上,而不是在twitter.com上。但如果我直接在我的文本区域中键入该代码,它会被逐字推特

我也尝试过使用encode(tweet)和urlEncode(tweet),但它们确实不起作用


有没有一种方法可以将表情转换成文本,然后在twitter上正确发布?

对于Facebook,您使用什么来共享文本?也许这可以让我们了解这是否是客户端(应用程序)错误。嗨,福克。我使用的是mokesmokes(;)编写的模块我直接从TextArea共享相同的文本。我之所以使用此文本,是因为我需要在迁移到Appc之前使用更新的SDK版本。一旦我超出当前的支持要求,我将升级所有内容到最新版本,并可能调回Appc Facebook模块。仔细想想,我正在使用的Facebook模块(还有Appc FB mod)在后台使用Facebook SDK。我使用的twitter库通过其restful API访问twitter。但不确定这是否会造成差异。好吧,这确实造成了两种非常不同的情况。查看它可能是一个编码问题。还说您(可能)需要url编码(
encodeURIComponent
)状态。你可以破解twitter commonJS并用一个替换基本URL来查看发送的确切请求。O M G.我很抱歉没有彻底阅读你早期的一些评论@FokkeZandbergen。只需用
返回编码替换jsOAuth-1.3.1.js commonJS中的OAuth.urlEncode函数的整个工作过程URIComponent(字符串);
运行良好!