2015-12-14 77 views
0

我正在爲WebGL集成Parse和Unity。由於Parse插件目前無法與WebGL一起使用,因此我不得不使用REST API(或編輯尚未運行的源代碼)。不幸的是,Parse沒有任何有關如何在Unity/WebGL應用程序中使用REST API的文檔,所以我甚至不確定我是否正確地做到了這一點。無論如何,嘗試註冊下面發佈的代碼只會給我一個「401未授權」的錯誤,至少在Unity編輯器中(我目前無法測試,看看我的服務器上的實際構建是否會做任何不同的事情)。我也嘗試使用客戶端密鑰而不是REST-API密鑰,但是這具有相同的效果。有人能給我指點從哪裏出發?Unity WebGL /解析通過REST API註冊返回未授權

這裏是我的代碼:

string url = "https://api.parse.com/1/users"; 
WWWForm form = new WWWForm(); 
form.AddField("X-Parse-Application-Id", APP_ID); 
form.AddField("X-Parse-REST-API-Key", REST_ID); 
form.AddField("X-Parse-Revocable-Session", 1); 
form.AddField("Content-Type", "application/json"); 
string newDataString = "{\"username\":\"" + email + "\",\"password\":\"" + password + "\",\"email\":\"" + email + "\"}"; 
WWW www = new WWW(url, System.Text.Encoding.UTF8.GetBytes(newDataString), form.headers); 

回答

0

的401錯誤似乎指向一個方向:標題的格式不正確。舉個例子,我得到了同樣的錯誤,因爲在Authorization頭的文本字段有=和「字符之間的空格,如:

token= "ajifidjoa... 

所以,首先,我建議你使用類似Postman或其他REST客戶端插件的Chrome,並使用它們測試您的呼叫 此方法您應該能夠更好地瞭解錯誤隱藏的位置

此外,在Unity中使用REST調用時, WebClient更適合做POST;示例代碼:

 using (var client = new WebClient()) 
     { 
      client.Headers[HttpRequestHeader.ContentType] = "application/json"; 
      result = client.UploadString(url, "POST", json_string_to_post); 
     }