3

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

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

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

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

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

4

1 回答 1

3

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

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

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

一旦你有了它,你必须去 Facebook Graph API explorer 并输入那个 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 小时的到期时间。我还没有想出如何扩展它,如果你发现请发布解决方案或链接到它。谢谢

:-)

于 2012-07-19T11:32:45.760 回答