2011-09-21 117 views
2

我是Lua的初學者,並試圖使用Lua實現Facebook連接API。我在網上搜索,發現Corona SDK提供了這個功能,但我不允許購買任何SDK並使用Lua。 任何人都可以提出任何開源SDK或任何其他方式,我可以實現facebook連接使用Lua的API?使用Facebook連接使用Lua?

+0

@nicol您認爲已經有例子嗎? – Akshay

+0

我沒有你的答案;我只是在糾正你對Lua的使用(這不是LUA,它不是一個縮寫,它是一個合適的名稱)。 –

+0

哦,好的。非常感謝您的更正 – Akshay

回答

1

Lua中可能還沒有FB API的包裝。這就是說,這不應該很難做到。

LuaSocket模塊爲HTTP請求提供支持。您將使用它來請求組成API調用的單個URL。這些請求將以JSON格式返回數據,您需要解析才能使用這些數據。

要在Lua中輕鬆解析JSON,您需要爲JSON解析器找到合適的包裝。快速搜索顯示有相當多的選擇。流行的一個似乎是JSON4Lua

Here是一篇文章,其中包括一個工作示例,用於從雅虎訪問特定的基於JSON的API。基於LuaSocket和JSON4Lua。示例代碼如下所示:

-- Client for the Yahoo Traffic API (http://developer.yahoo.com/traffic/rest/V1/index.html) 
-- using JSON and Lua 
-- Matt Croydon ([email protected]) http://postneo.com 

http = require("socket.http") -- http://www.cs.princeton.edu/~diego/professional/luasocket/ 
json = require("json") -- http://json.luaforge.net/ 

-- Retrieve traffic information for Kansas City, MO 
r, c, h = http.request("http://local.yahooapis.com/MapsService/V1/trafficData?appid=LuaDemo&city=Kansas+City&state=MO&output=json") 

if c == 200 then 
    -- Process the response 
    results = json.decode(r)["ResultSet"]["Result"] 
    -- Iterate over the results 
    for i=1,table.getn(results) do 
     print("Result "..i..":") 
     table.foreach(results[i], print) 
     print() 
    end 
end 
+0

感謝RBerteig ....你和Lix的迴應幫了我很多..我現在被困在獨立的facebook連接API中,因爲所有FB都在問我的網址或應用程序ID,讓我的祕密密鑰和身份證...反正我會張貼我的發現,因爲當我沿着我前進 – Akshay

3

首先,我會開始說,我對Lua一無所知。也就是說,任何能夠發出http請求的語言都可以使用facebook api。 Facebook's documentation of the Graph API詳細說明查詢的內容和確切位置。

正如我想象的那樣,Lua and networking上有很多資源。 Facebook的實際調用看起來是這樣的:

https://graph.facebook.com/oauth/access_token? 
client_id=YOUR_APP_ID&redirect_uri=YOUR_URL& 
client_secret=YOUR_APP_SECRET 

隨着您找回您的訪問令牌代碼,然後你可以作出這樣的請求:

https://graph.facebook.com/SOME_USER_ID/feed?access_token=YOUR_ACCESS_TOKEN 

這將會給你一個JSON響應用戶牆及其數據。

一個偉大的地方開始玩這些網址和他們的含義是this great tool從Facebook。它的Graph API Explorer。點擊get access token,並標記你需要的權限,然後戳你所有的Facebook數據!

+0

感謝Lix ....你的迴應幫了我很多..我現在被困在獨立的facebook連接API中,因爲所有的FB都是問我的URL或應用程序ID來獲得密鑰和ID。通常我會發布我的發現,因爲當我一直前進時 - – Akshay