可以使用Lua来使用Facebook Connect吗?

我是一个Lua的初学者,试图使用Lua实现Facebook的连接API。我在网上搜索并发现Corona SDK提供了这个功能,但我不允许购买任何SDK和使用Lua。 有人能建议任何开源的SDK或其他方法来使用Lua实现Facebook连接API吗?

原文链接 https://stackoverflow.com/questions/7505158

点赞
stackoverflow用户558021
stackoverflow用户558021

首先我要说的是,我对 Lua 毫无了解。话虽如此,任何具备进行 HTTP 请求的语言都可以使用 Facebook API。

Facebook 的 Graph API 文档详细介绍了查询的内容和位置。

我想象中有许多关于Lua 和网络的资源。进行 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 响应,显示用户的墙及其数据。

开始玩弄这些 URL 及其含义的绝佳位置是 Facebook 的这个神奇工具。这是Graph API 浏览器。单击“获取访问令牌”并标记您需要的权限,然后尝试访问所有 Facebook 的数据!

2011-09-21 20:18:31
stackoverflow用户68204
stackoverflow用户68204

可能还没有 Lua 版本的 FB API 包装。不过,这并不难做。

Luasocket 模块提供了对 HTTP 请求的支持。您可以使用它来请求组成 API 调用的各个 URL。这些请求将以 JSON 格式返回数据,您需要解析数据以便使用。

要在 Lua 中轻松解析 JSON,您需要找到适合 JSON 解析器的适当包装器。快速搜索表明,有很多选择。其中一个流行的是 JSON4Lua

这里有一篇文章,其中包括一个使用 Luasocket 和 JSON4Lua 访问基于 Yahoo! 的特定基于 JSON 的 API 的示例。示例代码如下:

-- Client for the Yahoo Traffic API (http://developer.yahoo.com/traffic/rest/V1/index.html)
-- using JSON and Lua
-- Matt Croydon (matt@ooiio.com) 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
2011-09-21 21:37:01