【问题标题】:Integrate twitter digits with a cordova/phonegap app?将 twitter 数字与 cordova/phonegap 应用程序集成?
【发布时间】: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 数字集成的解决方案?

【问题讨论】:

    标签: cordova ionic-framework twitter-fabric twitter-digits


    【解决方案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,但它并不完美。即有些工作,但有些没有。就像我专注于文本框而不打开国家/地区的弹出菜单时不打开键盘......如果你给我一些建议,那么欢迎......

    【讨论】:

    • 这对我来说似乎工作正常,我不确定你的行为为什么会这样。
    猜你喜欢
    • 1970-01-01
    • 2015-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-03
    • 1970-01-01
    • 1970-01-01
    • 2012-09-26
    相关资源
    最近更新 更多