2012-06-07 20 views

回答

3

取決於你如何要連接我猜。對我而言,我只需要連接並顯示Facebook頁面的牆貼以顯示在我的iPad上。我做的方式如下:登錄Facebook開發人員並創建一個應用程序。給它一個名字,例如Senchatouch應用程序。它會生成一個appID和密鑰。

然後,您需要通過查詢此鏈接找到您的Facebook用戶名ID:

https://graph.facebook.com/[username]

一旦你有,那麼你必須去Facebook Graph API瀏覽器並輸入該ID,您可以看到示例響應。

然後,你需要訪問令牌附加到這個鏈接:

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

讓你有這樣的:

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

這是你可以在一個正常使用的鏈接JSONP代理sencha touch 2.

我的商店代碼:

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小時。我還沒有弄清楚如何擴展它,如果你發現請發佈解決方案或鏈接到它。謝謝

:-)

+0

如何在需要時獲得'access_token'? – ThinkFloyd

+0

以上的方式並不理想,因爲它會過期。之後我使用了一個替代方案,使用Facebook RSS源並通過條件模板解析響應。 – Digeridoopoo

+0

有可能使用Facebook進行登錄,就像慢跑與朋友的應用一樣,然後這將工作...如果有人找到解決方案,請發佈:-) – Digeridoopoo