将 twitter 数字与 cordova/phonegap 应用程序集成?

Posted

技术标签:

【中文标题】将 twitter 数字与 cordova/phonegap 应用程序集成?【英文标题】:Integrate twitter digits with a cordova/phonegap app? 【发布时间】:2015-04-03 06:04:11 【问题描述】:

Digit 不久前发布了它的 Web SDK,但是我在将它与我的 phonegap/cordova 应用程序集成时遇到了一些问题。

我曾尝试使用 inappbrowser 插件,但由于数字使用 postMessage api 在 Windows 之间传输数据,而且似乎 apache 永远不会使用 cordova/phonegap 支持这一点(或者至少他们永远不会支持 - https://issues.apache.org/jira/browse/CB-4897)这不看起来效果很好。

我知道数字团队可能正在研究与 phonegap/cordova 应用程序集成的解决方案,但目前还没有,也没有迹象表明何时会推出。

有没有将 phonegap/cordova 与 twitter 数字集成的解决方案?

【问题讨论】:

【参考方案1】:

我努力工作并研究了许多不同的东西,其中大部分都让我陷入了死胡同。

TJ VanToll 使用 inappbrowser 插件向 postMessage API 发布了一个很棒的 work around,但是这似乎不适用于我的 android(我没有尝试过 iphone)。 TJ 的解决方案启发了我使用 digits-cordova 的 oAuth 解决方案。

你可以在https://github.com/yangli1990/digits-cordova.git找到我的解决方案

或者干脆用 bower 安装

请记住,如果 Fabrics 团队想出一种更原生的方式将数字与 cordova/phonegap 应用程序集成,那么这个解决方案将会过时。

bower install digits-cordova
cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-inappbrowser.git

/* Optional cordova plugins */
cordova plugin add com.simonmacdonald.telephonenumber
cordova plugin add com.rjfun.cordova.sms

这个库运行良好,因为您还可以选择允许您的应用自动填充电话号码和位置,还可以拦截 SMS 以自动继续。

在你的 html 中确保你有适当的 javascript 链接

<!-- optional -->
<script type="text/javascript" src="bower_components/telephonenumber.js"></script>
<script type="text/javascript" src="bower_components/SMS.js"></script>

<!-- required -->
<script type="text/javascript" src="bower_components/inappbrowser.js"></script>
<script type="text/javascript" src="bower_components/digitsCordova.js"></script>

在你的 app.js 中

function openDigits()
  var digits = new DigitsCordova('gmoaaZhEG88hMQUdpWHnF1IAz'); //Replace with your own consumerKey
    digits.open()
        .successCallback(function(loginResponse)
            var oAuthHeaders = loginResponse.oauth_echo_headers;
            var verifyData = 
                authHeader: oAuthHeaders['X-Verify-Credentials-Authorization'],
                apiUrl: oAuthHeaders['X-Auth-Service-Provider']
            ;

            $.post('/verify', verifyData)
                .done(function() window.reload(); );
        ).failCallback(function(error)
            //error
        ).errorCallback(function(error)
            //error
        )


openDigits();

您可以在 github 页面上阅读有关 api 的信息,您可以选择打开或关闭自动填充和 smsIntercept 的一些选项。

【讨论】:

使用 DIgits 登录 Twitter 后,我可以使用 auth_token 将推文发布到我的帐户吗?如果是,我该如何实现? 我不确定这个,我不认为您的电话号码已连接到您的推特帐户 - 至少数字不是强制性的。 AFAIK 数字主要功能用作手机号码身份验证,不确定它是否与 twitter 一起使用。 手机号码验证后收到回复。它包含X-Auth-Service-ProviderX-Verify-Credentials-Authorization。如何使用这些来验证用户?【参考方案2】:

你的工作很棒。因为实施起来非常困难。我试试你的 API,但它并不完美。即有些工作,但有些没有。就像我专注于文本框而不打开国家/地区的弹出菜单时不打开键盘......如果你给我一些建议,那么欢迎......

【讨论】:

这对我来说似乎工作正常,我不确定你的行为为什么会这样。

以上是关于将 twitter 数字与 cordova/phonegap 应用程序集成?的主要内容,如果未能解决你的问题,请参考以下文章

使用 Twitter 的数字自定义 SMS 消息

将 FirebaseUI 与 Twitter 登录一起使用(iOS 应用)

通过将 url 与 JQuery 交替更改嵌入 twitter

将Zend_Service_Twitter_Search与经过身份验证的请求一起使用

将 Twitter API 与 Fabric 一起使用

将 twitter 引导程序与 Django 表单一起使用