ginjaninja 533 Posted June 13, 2019 Share Posted June 13, 2019 Can anyone help with this please? I am learning Unity and the emby api, and diving in well past the deep end.. I am getting a 400 bad response when trying to use "/emby/Users/AuthenticateByName" when i manually use the same headers and json data on the http://swagger.emby.media page, i get a successful response. from that i understand i need to set a header and post some json data i can get a successful response in Unity from simpler api methods like /System/Info which dont require posting json and setting headers. anyone out there got a unity app to work on the api? that could a post a unity example on using /emby/Users/AuthenticateByName sucessfully (or something similar with headers and json? using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Networking; public class EmbyAPIComp : MonoBehaviour { [System.Serializable] public class MyClass { string Username = "MyUsername"; string Pw = "Mypassword"; } static MyClass myObject = new MyClass(); string json = JsonUtility.ToJson(myObject); IEnumerator AuthenticateCoroutine() { using (UnityWebRequest www = UnityWebRequest.Put("http://192.168.0.10:8096/emby/Users/AuthenticateByName", json)) { www.method = UnityWebRequest.kHttpVerbPOST; www.SetRequestHeader("X-Emby-Authorization" , "Emby UserId='91d851f075f44ae59bc499bc4ebb54e6', Client='Android', Device='Samsung Galaxy SIII', DeviceId='NickskApp', Version='1.0.0.0'"); www.SetRequestHeader("accept" , "application/json"); www.SetRequestHeader("Content-Type" , "application/json"); yield return www.SendWebRequest(); if(www.isNetworkError || www.isHttpError) { Debug.Log(www.error); } else { Debug.Log(www.responseCode); } } } thanks for your help Link to comment Share on other sites More sharing options...
Luke 36880 Posted June 13, 2019 Share Posted June 13, 2019 For authentication you wouldn't put the userid in the header because shouldn't have a user id at that point. try removing that. Link to comment Share on other sites More sharing options...
ginjaninja 533 Posted June 14, 2019 Author Share Posted June 14, 2019 thanks luke, thats good to know the inital authentication doesnt require the id. turned out i was not instancing the json object properly. for anyone else getting started this worked, now getting 200 response. [System.Serializable] public class MyClass { public string Username; public string Pw; public MyClass() { this.Username = "MyUsername"; this.Pw = "MyPassword"; } } static MyClass myObject = new MyClass(); string json = JsonUtility.ToJson(myObject); Link to comment Share on other sites More sharing options...
Luke 36880 Posted June 14, 2019 Share Posted June 14, 2019 Thanks for the info. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now