【问题标题】:Changing CurrentAccessToken in Facebook Unity SDK在 Facebook Unity SDK 中更改 CurrentAccessToken
【发布时间】:2017-09-20 23:12:37
【问题描述】:

我正在尝试使用在 iOS 上运行的 Unity Facebook SDK 作为页面发布到 Facebook 页面。据我了解,为此,我需要带有manage_pagespublish_pages 的页面访问令牌。我知道我可以从/me/accounts?fields=access_token 获得它,但是我如何告诉AccessToken.CurrentAccessToken 使用我的页面访问令牌呢?

现在我正在使用以下内容:

var wwwForm = new WWWForm();
//wwwForm.AddField ("access_token", "A-T I NEED");
wwwForm.AddBinaryData("image", screenshot, "InteractiveConsole.png");
wwwForm.AddField("message", "herp derp.  I did a thing!  Did I do this right?");
FB.API("/PAGE-ID/photos", HttpMethod.POST, HandleResult, wwwForm);

我尝试手动放置访问令牌,但没有奏效(因此我将其注释掉)。

就这样我收到了一个错误,告诉我我需要publish_actions,这是不正确的,因为我没有尝试以用户身份发布。如果我也收到publish_actions,则帖子会上线,但会在用户讲话时发布到页面上。 (用户也是管理员)

有什么想法吗?谢谢!

【问题讨论】:

    标签: ios facebook facebook-graph-api unity3d facebook-unity-sdk


    【解决方案1】:

    因此,我向 facebook 提交了一份错误报告,结果显示:“……目前不支持此功能。”这只是意味着现在可以使用您通过FB.API 中的FB.API 获得的页面访问令牌。他们不会在文档中告诉你它。

    作为一种解决方法,我只需像这样使用UnityWebRequest

    IEnumerator UploadToPage(byte[] screenshot) {
    
        var wwwForm = new WWWForm();
        wwwForm.AddField("message", "herp derp.  I did a thing!  Did I do this right?");
        wwwForm.AddBinaryData("image", screenshot, "Test.png");
    
        string url = "https" + "://graph.facebook.com/"+ PageID + "/photos";
        url += "?access_token=" + PageAccessToken;
    
        using (UnityWebRequest www = UnityWebRequest.Post(url, wwwForm))
    
        {
            yield return www.Send();
    
            if (www.isError)
            {
                Debug.Log(www.error);
            }
            else
            {
                Debug.Log("Form upload complete!");
            }
        }
    
        Debug.Log(url);
    }
    

    【讨论】:

      猜你喜欢
      • 2016-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-01
      • 2014-12-17
      • 1970-01-01
      相关资源
      最近更新 更多