2015-12-14 79 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); 
     }