Facebook 使用Corona sdk免费版与好友共享应用程序

Facebook 使用Corona sdk免费版与好友共享应用程序,facebook,share,coronasdk,Facebook,Share,Coronasdk,我正试图在facebook上分享我在corona sdk免费版中创建的应用程序。但在互联网上找不到有效的例子。facebook api或政策似乎有所改变。最近有没有人在corona sdk中创建了与facebook集成的应用程序?有谁能给我介绍一下整合facebook的方法吗 我发现了另一个问题,但答案中提供的链接已关闭。这将是巨大的帮助 facebook API有更新吗?因为我每次都得到空响应。有谁能提供最近创建的工作示例参考 我在下面的回答中尝试了krs提供的示例,但它对我不起作用。 当我点

我正试图在facebook上分享我在corona sdk免费版中创建的应用程序。但在互联网上找不到有效的例子。facebook api或政策似乎有所改变。最近有没有人在corona sdk中创建了与facebook集成的应用程序?有谁能给我介绍一下整合facebook的方法吗

我发现了另一个问题,但答案中提供的链接已关闭。这将是巨大的帮助


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

我在下面的回答中尝试了krs提供的示例,但它对我不起作用。 当我点击任何一个像post Msg这样的功能时,它会进入facebook页面,经过一些处理后,它会再次直接进入主页,但什么也做不了。在日志I中,收到的响应为空

下面是错误的屏幕截图

任何帮助都会对我大有裨益。

编辑

我尝试了很多,但同样的问题也存在。我认为facebook应用程序配置存在问题。
有人能提供详细的逐步信息来配置应用程序并生成内置corona吗?我将为此再奖励100分。

有来自ansca实验室的facebook示例应用程序。请参见下面的链接:

在应用程序中集成了鬼与怪物


继续编码…………)

我希望这有助于创建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。
这对我有用希望它能解决你的问题

它需要appkey吗?我浏览了一些博客,他们使用了从facebook检索的appkey。我没有apppkey,因为我不知道安装我的应用程序的人的appkey。我认为这可能有助于解决此问题:此处描述了门户设置:我尝试过这样做,但对我无效。因为它是不工作的模拟器,我不能看到登录设备。你可以让我知道,因为这是旧的api有任何变化,从facebook的api?或者它目前运行良好?facebook API中是否有任何更新?因为我每次都得到空响应。有人能提供最近创建的工作示例参考吗?谢谢你的回答。你能不能也给我发一封参考信?我们需要按照这个参考来使用facebook配置应用程序id吗?hashkey是必须的吗?这是用于配置appID和hashkey的链接。如果在corona中使用试用版,则需要使用corona调试密钥库来获取hashkey。每次无效的android_key参数时,它都会给我相同的错误。密钥JGn9F2vDQ_w6hexLxdefCUpxYIA与任何允许的密钥都不匹配。在配置应用程序密钥散列时,我已更新我的散列密钥,但仍然显示相同的错误。我认为您使用了错误的散列密钥。如何获取密钥哈希?您是否使用openssl?这可能会有所帮助。顺便说一句,如果你必须使用windows和x64位操作系统openssl64,我认为这是唯一的问题,即用facebook配置应用程序,因为代码是正确的。我们只尝试了appid,没有任何平台规范。但在我的另一个安卓系统中,facebook应用程序是旧的(未更新),这不起作用。这是facebook api更改的情况吗?