Xcode 在cocos2dx V3.7中与facebook共享

Xcode 在cocos2dx V3.7中与facebook共享,xcode,facebook,macos,cocos2d-x,share,Xcode,Facebook,Macos,Cocos2d X,Share,我正在使用cocos2dx在facebook上实现屏幕截图共享。facebook上的登录屏幕即将出现,但照片共享没有显示对话框。下面代码中我的错误在哪里??我指的是此网站“” 我正在将所有facebook freamwork和sdk freamwork导入到项目中。facebookListner是不允许的 我实现了以下代码: void HelloWorld::afterCaptured(bool succeed, const std::string& outputFile)

我正在使用cocos2dx在facebook上实现屏幕截图共享。facebook上的登录屏幕即将出现,但照片共享没有显示对话框。下面代码中我的错误在哪里??我指的是此网站“” 我正在将所有facebook freamwork和sdk freamwork导入到项目中。facebookListner是不允许的

我实现了以下代码:

    void HelloWorld::afterCaptured(bool succeed, const std::string& outputFile)
        {
                if (succeed) {
               checkFaceBookStatus();
                cocos2d::__String *str =String::create(outputFile);
                if(sdkbox::PluginFacebook::isLoggedIn())
                {
sdkbox::PluginFacebook::requestPublishPermissions({FB_PERM_PUBLISH_POST});
                    PluginFacebook::FBAPIParam params;
                    PluginFacebook::api("me", "GET", params, "me");
                    sdkbox::FBShareInfo info;
                    info.type  = sdkbox::FB_LINK;
                    info.link  = "http://www.cocos2d-x.org";
                    info.title = "cocos2d-x";
                    info.text  = "Best Game Engine";
                    info.image = str->getCString();
                    sdkbox::PluginFacebook::share(info);
                    CCLOG("My Photo %d",sdkbox::PluginFacebook::isLoggedIn());
                }
                else
                {sdkbox::PluginFacebook::login();
                }}


static void checkFaceBookStatus()
{
    CCLOG("##FB> permission list: ");
    for (auto& permission : PluginFacebook::getPermissionList())
    {
        CCLOG("##FB>> permission %s", permission.data());
    }
    CCLOG("##FB> access token: %s", PluginFacebook::getAccessToken().c_str());
    CCLOG("##FB> user id: %s", PluginFacebook::getUserID().c_str());
    CCLOG("##FB> FBSDK version: %s", PluginFacebook::getSDKVersion().c_str());
}
Logcat显示:

access token: 
CAAXYnG02SHABAB4NDrDbNVBoUeZAPRsTZBxlJEjeT77RSHIfCVMDrdDP6ZB3hyu2BOZCMwVhB4wfNgZBdHmYCOe7T9F0tupf60MObtRPyL5Pr3AL3TtpcmbQ0jZBRk1KBb0ZA0O8WdkRXBsCdxZBncprUNVuUrZAkUSdZAbtiwAXbpujbNc69VFEIqVwR7BmzfukHCm5hUYhDkHd0WZCN4UfUqmIZCB8CWIvCuAVARZAdi9RZCTAZDZD
    ##FB> user id: 771136763011945

    ##FB> FBSDK version: 4.5.1

    2015-09-25 18:22:34.827 DressMeUp-mobile[8302:165074] FBSDKLog: starting with Graph API v2.4, GET requests for /me should contain an explicit "fields" parameter
    My Photo 1
    2015-09-25 18:25:18.803 DressMeUp-mobile[8302:165074] FBSDKLog: starting with Graph API v2.4, GET requests for /me should contain an explicit "fields" parameter

Graph API v2.4中的一个主要变化是减少了大多数Graph API调用返回的默认字段数量,以帮助提高移动网络连接的性能

在v2.4中,您需要声明性地列出调用的响应字段,即现在应该使用?fields=field1,field2语法来声明希望API返回的所有字段。在您的情况下,语法会有所不同,但概念是相同的

您可以在此处阅读更多内容:


我不太明白你的问题。无论如何,您可以像这样添加“fields”参数:PluginFacebook::FBAPIParam params;参数[“字段”]=“名称,电子邮件”;