3

我正在尝试在 facebook 中分享我在 corona sdk 免费版本中创建的应用程序。但在互联网上找不到工作示例。facebook api 或政策似乎发生了变化。最近有没有人用 facebook 集成在 corona sdk 中创建应用程序?任何人都可以为我提供我们可以整合 facebook 的方式的参考。

我发现另一个问题通过 facebook 在 corona Sdk 中共享我的应用程序,但答案中提供的链接已关闭。这将是伟大的=帮助。

facebook API 有更新吗?因为我每次都得到响应为空。任何人都可以提供最近创建的工作示例参考吗?

我在以下答案中尝试了 krs 提供的示例,但它不适用于我。 https://developer.coronalabs.com/content/facebook 当我点击任何功能(如发布消息)时,它会进入 facebook 页面,经过一些处理后,它会再次直接进入主页,什么也没有做。在日志中我得到响应为空。

以下是错误截图。

在此处输入图像描述

任何帮助都会对我有很大帮助。

编辑

我已经尝试了很多,但同样的问题存在。我认为存在 facebook 应用程序配置问题。谁能提供详细的分步信息来配置应用程序并在电晕中生成构建?我为此再提供 100 点赏金。

4

2 回答 2

5

我希望这有助于制作一个 lua 文件并将这个代号复制到任何你想要的地方

local facebook = require "facebook"
local json = require "json"

local _M = {}

local appId = "" -- put your app id string here

local message = ""
local access_token = ""
local fbCommand = ""

local LOGOUT = 1
local SHOW_DIALOG = 2
local POST_MSG = 3
local POST_PHOTO = 4
local GET_USER_INFO = 5
local GET_PLATFORM_INFO = 6

function showPopup(popupTitle,popupMessage)
    native.showAlert( popupTitle, popupMessage, {"OK"} )
end


function listener( event )
    if ( "session" == event.type ) then

        if ( "login" ~= event.phase ) then
            showPopup("Facebook share score failed!", "Please try again")
            return
        end

        print(access_token)
        access_token = event.token


        if fbCommand == GET_USER_INFO then
            facebook.request("me")
        elseif fbCommand == POST_MSG then

            facebook.request("me/feed", "POST"  , {message = message} )
        end
    elseif ( "request" == event.type ) then
        local response = event.response

        print("Response: ",response)

        if ( not event.isError ) then
            if fbCommand == GET_USER_INFO then
                response = json.decode( event.response )
            elseif fbCommand == POST_MSG then
                showPopup("Facebook share score", "You've successfully shared your score!")
            end
        else
            showPopup("Facebook share score failed!", "Please try again")
        end
    end
end

function _M:postToWall(msg)
    message = msg
    fbCommand = POST_MSG
    facebook.login( appId, listener, {"publish_stream"} )
end

function _M:shareGame()
    message = "Juggler http://google.com/"
    fbCommand = POST_MSG
    facebook.login( appId, listener, {"publish_stream"} )
end

return _M

当你想分享时使用这个功能

  local function FacebookShare(event)

        if event.phase == "began" then
            local FBManager
            local message

            FBManager = require( "Facebook" )
            message = "" -- your message
            FBManager:postToWall(message)
        end
    end

如果用户未登录,它将调用登录 facebook。这对我有用,希望它能解决你的问题

于 2013-05-24T05:32:22.623 回答
4

有来自 的 facebook 示例应用程序ansca labs。从下面的链接中看到:

https://developer.coronalabs.com/content/facebook

并且在应用程序中有一个集成Ghosts-vs.-Monsters

https://github.com/ansca/Ghosts-vs.-Monsters

继续编码............ :)

于 2013-05-16T08:33:27.090 回答