【问题标题】:using oAuth in sencha touch 2 to connect facebook在 sencha touch 2 中使用 oAuth 连接 facebook
【发布时间】:2012-06-11 09:28:23
【问题描述】:

sencha touch 2 没有提供任何函数/库来连接 facebook。

到目前为止,我的线索少了

我们可以在 sencha touch 中使用 facebook javascript sdk 吗?

我发现下面的教程很好,我们可以将它与 extjs mvc 合并

http://thinkdiff.net/facebook/new-javascript-sdk-oauth-2-0-based-fbconnect-tutorial/

【问题讨论】:

    标签: javascript facebook oauth extjs


    【解决方案1】:

    取决于你想如何连接我猜。对我来说,我只需要连接并显示 Facebook 页面的墙贴即可在我的 iPad 上显示。我这样做的方式如下:登录到facebook开发人员并创建一个应用程序。给它一个名字,例如Senchatouch 应用程序。它将生成一个 appID 和密钥。

    然后您需要通过查询此链接找到您的 Facebook 用户名 ID:

    https://graph.facebook.com/[用户名]

    获得该信息后,您必须转到 Facebook Graph API 资源管理器并输入该 ID,然后您可以看到示例响应。

    然后你需要将访问令牌附加到这个链接:

    https://graph.facebook.com/51539791474/feed?access_token=ACCESS_TOKEN

    所以你有类似的东西:

    https://graph.facebook.com/51539791474/feed?access_token=AAAFnhgQ0ZAHIBAAbiopuvZAa8zlEmRyxKtZBTcgspJIJ21tVwI17xZCJEbgtNRaMUCnGBVwUa1zE7s6ZBRzg6rJ5UGIEBhZAQfMsCrrT0GVQZDZD

    这是您可以在 sencha touch 2 中的普通 JSONP 代理中使用的链接。

    我的商店代码:

    Ext.define('TCApp.store.Facebook', {
    extend: 'Ext.data.Store',
    requires: [
        'TCApp.model.Facebook'
    ],
    
    config: {
        autoLoad: true,
        model: 'TCApp.model.Facebook',
        storeId: 'Facebook',
        proxy: {
            type: 'jsonp',
            url: 'https://graph.facebook.com/51539791474/feed?access_token=AAACEdEose0cBAAJt7hcZCdkHHK8hOjZBDFd8GSfg2xkI6hj5AghswWn7MvBTz4B4xooN4t2fXvMmTZCrxAq4t5ofnnPIY7oZBebnbuB5wQZDZD',
            reader: {
                type: 'json',
                rootProperty: 'data'
            }
        }
    }
    });
    

    还有我的模特:

    Ext.define('TCApp.model.Facebook', {
    extend: 'Ext.data.Model',
    config: {
        fields: [
            {
                name: 'message'
            },
            {
                name: 'picture'
            },
            {
                name: 'link'
            },
            {
                name: 'description'
            }
        ]
    }
    });
    

    然后我使用这个 itemTpl 将它绑定到一个简单的列表:

    '<div class="wholeitem"><img src="{picture}" class="facebookthumb" />{message}</div>',
        '<div class="smalltext">{description}</div></div>',
    

    我遇到的唯一问题是过期,似乎每个访问令牌都有 2 小时的过期时间。我还没有想出如何扩展它,如果你发现请发布解决方案或链接到它。谢谢

    :-)

    【讨论】:

    • 需要时如何获得access_token
    • 上面的方式不太理想,因为过期了。从那以后,我使用了另一种方法,使用 Facebook RSS 提要并通过条件模板解析响应。
    • 可能可以像与朋友一起慢跑应用程序那样使用 Facebook 登录,然后这会起作用...如果有人找到解决方案,请发布:-)
    猜你喜欢
    • 1970-01-01
    • 2015-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多