Search the Community
Showing results for tags 'apiclient'.
-
Background Plugins, extensions and integrations make an important part of the Emby ecosystem. Plugin development is open to everybody and many great plugins have been created by Emby community members. To show our appreciation for the great work and achievements of community developers, we took steps in order to improve in an area where we haven't done that well in the recent past: Developer Support. When talking about support, there are several different facets to evaluate and consider. We probably did fairly well when it was about responding to user questions - but not that much when it came to providing accurate and up-to-date information, documentation and code examples. Emby SDK It has been just about time to make a change to that and over the past months we have intensively worked on improving that situation. Eventually, we have ended up with a fully loaded package of information, resources, tools and sample code - exclusively for all of you developers, so today we're proud to present: The EMBY SDK https://github.com/MediaBrowser/Emby.SDK Website - emby dev In parallel to the SDK, we are launching: the new emby developer site https://dev.emby.media Introduction Video For a comprehensive introduction to the Emby SDK, watch the video, either by installing the Plugin for The Emby Show Or watch it on YouTube: The Emby Show Episode 3 - Emby SDK - or below Questions? Please ask questions in the developer forum: https://emby.media/community/index.php?/forum/47-developer-api/ Watch
-
Hi guys. First of all let me congratulate all the Emby team for your amazing work. I got the server installed inside my company for content delivering and is working like a charm but im struggling now with a first problem that i would appreciate you could help me with. I have an Ant server running a webrtc application wich uses java, RED5 and websocket to connect video, from and betweeen html5 clients and the server. STRM file pointing to the player doesnt work and i havent found a way to simply publish and open a hyperlink inside the home screen so an embeded player in a website could do the rest. So far i have only been able to publish HLS streams using IPTV plugin and LiveTV (I bought the premiere subscription) wich works fine for scenarios where a 10-30 seconds delays is acetpable. So, after an extensive reading of the forum i found out that "linking" the home page its not possible (so far at least), so i made an external website where im publishing the webrtc streams wich i need to link to the emby server somehow. Here is where i need some help: Can you explain me how to build an API call that can get a user directly to the emby home screen from an external link ?, I need the API URL link contains the username and password so i can put that on a button in my own application, so that the user thats already logged in (in my intranet) dont have to double log once is beeing transported to emby (using offcourse the Emby authentication). Any lights on the problem will be appreciate. Im a complete newby in API usage, so im being very humble in asking a detailes "how to", even if its sound a little dumb for the oracles of the Emby comunnity. Thank you.
-
Hi, I am developing an android app using Xamarin in visual studio. I am re-using code from my c# windows application that I know is working, but in android I am getting a null object exception that I am not able to trace. Anyone more than me that is using xamarin and android? The code is simple: // Developers are encouraged to create their own ILogger implementation var logger = new NullLogger(); // This describes the device capabilities var capabilities = new ClientCapabilities(); // If using the portable class library you'll need to supply your own IDevice implementation. var device = new Device { DeviceName = "MyDeviceName", DeviceId = "11" }; // If using the portable class library you'll need to supply your own ICryptographyProvider implementation. var cryptoProvider = new CryptographyProvider(); var client = new ApiClient(logger, "http://192.168.0.100:8096", "My client name", device, "11", cryptoProvider); try { var authResult = new MediaBrowser.Model.Users.AuthenticationResult(); authResult = await ApiClientHandler.GetApiClient().AuthenticateUserAsync("usernamexxx", "passxxx"); // Report capabilities after authentication await ApiClientHandler.GetApiClient().ReportCapabilities(capabilities); } catch(Exception e) { string x = e.ToString(); } Singleton to get the api client: (Embyclient derives from api client with a couple of extra methods... public static EmbyClient GetApiClient() { if (_apiClient == null) { var device = new Device { DeviceName = "asdf", DeviceId = "My Device Id" }; var logger = new NullLogger(); // If using the portable class library you'll need to supply your own ICryptographyProvider implementation. var cryptoProvider = new CryptographyProvider(); _apiClient = new EmbyClient(logger, "http://192.168.0.100:8096", "asdf", device, "asdf", cryptoProvider); } return _apiClient; } exception is thrown on this row: authResult = await ApiClientHandler.GetApiClient().AuthenticateUserAsync("usernamexxx", "passxxx"); And is working perfectly in my windows app. {System.NullReferenceException: Object reference not set to an instance of an object. at Emby.ApiClient.Net.HttpWebRequestFactory.Create (Emby.ApiClient.Net.HttpRequest options) [0x00070] in <adca890d653b4bfd8613ba04b19aa10a>:0 at Emby.ApiClient.Net.HttpWebRequestClient+<GetResponse>d__10.MoveNext () [0x0003b] in <adca890d653b4bfd8613ba04b19aa10a>:0 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0003e] in <43dbbdc147f2482093d8409abb04c233>:0 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in <43dbbdc147f2482093d8409abb04c233>:0 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in <43dbbdc147f2482093d8409abb04c233>:0 at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[TResult].GetResult () [0x00000] in <43dbbdc147f2482093d8409abb04c233>:0 at Emby.ApiClient.Net.HttpWebRequestClient+<SendAsync>d__13.MoveNext () [0x00073] in <adca890d653b4bfd8613ba04b19aa10a>:0 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0003e] in <43dbbdc147f2482093d8409abb04c233>:0 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in <43dbbdc147f2482093d8409abb04c233>:0 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in <43dbbdc147f2482093d8409abb04c233>:0 at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[TResult].GetResult () [0x00000] in <43dbbdc147f2482093d8409abb04c233>:0 at Emby.ApiClient.ApiClient+<SendAsync>d__30.MoveNext () [0x0009d] in <adca890d653b4bfd8613ba04b19aa10a>:0 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0003e] in <43dbbdc147f2482093d8409abb04c233>:0 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in <43dbbdc147f2482093d8409abb04c233>:0 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in <43dbbdc147f2482093d8409abb04c233>:0 at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[TResult].GetResult () [0x00000] in <43dbbdc147f2482093d8409abb04c233>:0 at Emby.ApiClient.ApiClient+<PostAsync>d__94`1[T].MoveNext () [0x0010f] in <adca890d653b4bfd8613ba04b19aa10a>:0 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0003e] in <43dbbdc147f2482093d8409abb04c233>:0 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in <43dbbdc147f2482093d8409abb04c233>:0 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in <43dbbdc147f2482093d8409abb04c233>:0 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in <43dbbdc147f2482093d8409abb04c233>:0 at Emby.ApiClient.ApiClient+<AuthenticateUserAsync>d__89.MoveNext () [0x0012a] in <adca890d653b4bfd8613ba04b19aa10a>:0 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0003e] in <43dbbdc147f2482093d8409abb04c233>:0 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in <43dbbdc147f2482093d8409abb04c233>:0 at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in <43dbbdc147f2482093d8409abb04c233>:0 at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () [0x00000] in <43dbbdc147f2482093d8409abb04c233>:0 at EmbyManager.Fragments.FragmentSeenShows+<NewMethod>d__7.MoveNext () [0x000b9] in C:\Users\jorge\source\repos\EmbyManager\EmbyManager\Fragments\FragmentSeenShows.cs:145 }
-
I'm running a GetItemsAsync and pulling back movies. I'm then iterating the items and on some I'm setting the DateCreated and calling UpdateItem, but I'm getting "The method or operation is not implemented". Am I doing something wrong with how I'm updating them, or is setting the DateCreated not supported? I'm trying to update the DateAdded (which I was thinking is the same as DateCreated, but maybe not).
-
I can't seem to get sample provided in the ReadMe to compile. Any help would be appreciated. I think it may be outdated ... Errors: Error 1 'MediaBrowser.ApiInteraction.ApiClient' does not contain a constructor that takes 5 arguments C:\Projects\Form1.cs 45 26 Error 2 The name 'AuthenticateUserAsync' does not exist in the current context C:\Projects\Form1.cs 47 36 Error 3 The name 'passwordHash' does not exist in the current context C:\Projects\Form1.cs 47 70 Error 4 An object reference is required for the non-static field, method, or property 'MediaBrowser.ApiInteraction.ApiClient.ReportCapabilities(MediaBrowser.Model.Session.ClientCapabilities, System.Threading.CancellationToken)' C:\Projects\Form1.cs 50 19 Error 5 An object reference is required for the non-static field, method, or property 'MediaBrowser.ApiInteraction.ApiClient.RemoteLoggedOut' C:\Projects\Form1.cs 53 13 Error 6 The name 'ApiClient_RemoteLoggedOut' does not exist in the current context C:\Projects\Form1.cs 53 42 Error 7 'MediaBrowser.ApiInteraction.ApiClient' does not contain a definition for 'UserId' and no extension method 'UserId' accepting a first argument of type 'MediaBrowser.ApiInteraction.ApiClient' could be found (are you missing a using directive or an assembly reference?) C:\Projects\Form1.cs 58 33
-
Hello, I am a little new to the development side of the MediaBrowser, though I have been doing code in .net for 10 years off and on. I am simply trying to retrieve movies, and update the keywords for them. I am able to get the movies using the apiclient, but seem to be a bit stuck on the update part. Can someone point me in the right direction? Thanks, Cade