2017-04-24 10 views
0

iOS에서 실행중인 Unity Facebook SDK를 사용하여 Facebook 페이지에 게시하려고합니다. 내가 이해할 수 있도록, manage_pagespublish_pages 페이지 액세스 토큰이 필요합니다. 내가 /me/accounts?fields=access_token에서 가져올 수 있다는 것을 알고 있지만, 대신 AccessToken.CurrentAccessToken에 내 페이지 액세스 토큰을 사용한다고 말하면 어떻게됩니까?Facebook Unity SDK에서 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을 받으면 온라인 상태가되지만 사용자의 말처럼 페이지에 게시됩니다. (사용자는 Admin 임)

어떤 아이디어? 감사!

답변

0

그래서 저는 페이스 북에 버그 보고서를 제출했습니다. "이 시점에서이 기능은 지원되지 않습니다." 이제는 FB.API 안에 FB.API을 통해 획득 한 페이지 액세스 토큰을 사용하는 방법이 있다는 뜻입니다. 그리고 그들은 당신이 문서에서 그것을 abot 말할하지 않을 수 있습니다.

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); 
} 
: 나는 단순히 이런 UnityWebRequest를 사용하여 해결 방법으로

관련 문제