2017-04-24 95 views
0

我想發佈到Facebook頁面作爲使用在iOS上運行的Unity Facebook SDK的頁面。據我所知,要做到這一點,我需要頁面訪問令牌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帖子會上線,但會在用戶說話時發佈到頁面。 (用戶也是管理員)

任何想法?謝謝!

回答

0

因此,我向Facebook提交了一個錯誤報告,結果發現:「......此時此功能不受支持。」這僅僅意味着現在有辦法使用通過FB.APIFB.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); 
} 
相關問題