{"id":18367701,"url":"https://github.com/jwplayer/jwplatform-dotnet","last_synced_at":"2025-04-06T16:32:52.032Z","repository":{"id":40876708,"uuid":"235869245","full_name":"jwplayer/jwplatform-dotnet","owner":"jwplayer","description":":goal_net: .NET library for the JW Platform API","archived":false,"fork":false,"pushed_at":"2022-12-08T10:23:49.000Z","size":35,"stargazers_count":4,"open_issues_count":2,"forks_count":2,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-03-22T03:51:13.115Z","etag":null,"topics":["c-sharp","dotnet","jwplatform","jwplayer"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jwplayer.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-01-23T19:24:32.000Z","updated_at":"2021-09-24T01:13:56.000Z","dependencies_parsed_at":"2022-09-08T15:11:14.668Z","dependency_job_id":null,"html_url":"https://github.com/jwplayer/jwplatform-dotnet","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jwplayer%2Fjwplatform-dotnet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jwplayer%2Fjwplatform-dotnet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jwplayer%2Fjwplatform-dotnet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jwplayer%2Fjwplatform-dotnet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jwplayer","download_url":"https://codeload.github.com/jwplayer/jwplatform-dotnet/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247513079,"owners_count":20950987,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c-sharp","dotnet","jwplatform","jwplayer"],"created_at":"2024-11-05T23:23:03.045Z","updated_at":"2025-04-06T16:32:51.739Z","avatar_url":"https://github.com/jwplayer.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# JW Platform API\nThe .NET client library for accessing the  [JW Platform Management API](https://developer.jwplayer.com/jwplayer/docs/getting-started-with-content-management) written in C#.\n# Requirements\nC# 5.0+\\\n.NET Framework 4.5+\\\n.NET Core 1.0+\n# Installation\nThis library is available as a [Nuget Package](https://www.nuget.org/packages/jwplatform/).\n\n* #### [Using Visual Studio (Windows)](https://docs.microsoft.com/en-us/nuget/quickstart/install-and-use-a-package-in-visual-studio)\n\tOn the project you want to add the library to:\n\t* Right click \"References\" -\u003e \"Manage Nuget Packages\"\n\t* Search for `jwplatform` -\u003e Click \"Install\"\n\t\n* #### [Using Visual Studio (Mac)](https://docs.microsoft.com/en-us/nuget/quickstart/install-and-use-a-package-in-visual-studio-mac)\n\tOn the project you want to add the library to:\n\t* Right click \"Dependencies\" -\u003e \"Manage Nuget Packages\"\n\t* Search for `jwplatform` -\u003e Click \"Add Package\"\n\n* #### [Using .NET CLI](https://docs.microsoft.com/en-us/nuget/quickstart/install-and-use-a-package-in-visual-studio-mac)\n\t```\n\tdotnet add package jwplatform\n\t```\n# Methods\nThe docs for API endpoints can be found in the [Supported Operations](#Supported-Operations) section below.\n| Method  | Use |\n| ------------- | ------------- |\n| GetRequestAsync*  | Fulfilling `GET` endpoints  |\n| GetRequest  | -- |\n| PostRequestAsync*  | Fulfilling `POST` endpoints  |\n| PostRequest  | --  |\n| UploadRequestAsync*  | Fulfilling local file uploads  |\n| UploadRequest | --  |\n\n*Highly recommended to use `async` methods if possible.\n# Usage\nImport the `jwplatform` library:\n```csharp\nusing jwplatform;\n```\nInitialize a new `jwplatform` API with your API Key and API Secret\\\n([Here](https://support.jwplayer.com/articles/how-to-find-your-api-key-and-secret) is how to find those values):\n```csharp\nvar jwplatformApi = new Api(API_KEY, API_SECRET);\n```\nYou can use  `jwplatformApi` to make any API request.\n\n****All request paths need to begin with a `/` in order to properly execute.**\n\nThe following are some examples of how to accomplish 4 different types of requests.\n### Example 1: GET - [`/videos/show`](https://developer.jwplayer.com/jwplayer/reference#get_videos-show)\nAn example of how to get to information about a video with the Media Id `MEDIA_ID`.\n```csharp\nvar jwplatformApi = new Api(API_KEY, API_SECRET);\n\nvar requestParams = new Dictionary\u003cstring, string\u003e {\n\t{\"video_key\", \"MEDIA_ID\"}\n}\n\n// Asynchronously\nvar response = await jwplatformApi.GetRequestAsync(\"/videos/show\", requestParams);\n\n// Synchronously\nvar response = jwplatformApi.GetRequest(\"/videos/show\", requestParams);\n```\n### Example 2: POST w/ Body Parameters - [`/videos/update`](https://developer.jwplayer.com/jwplayer/reference#post_videos-update)\nAn example of how to update the `title` and `author` of a video with the Media Id `MEDIA_ID`.\n```csharp\nvar jwplatformApi = new Api(API_KEY, API_SECRET);\n\nvar requestParams = new Dictionary\u003cstring, string\u003e {\n\t{\"video_key\", \"MEDIA_ID\"},\n\t{\"title\", \"New Title\"},\n\t{\"author\", \"New Author\"}\n}\n\n// Asynchronously\nvar response = await jwplatformApi.PostRequestAsync(\"/videos/update\", requestParams, true);\n\n// Synchronously\nvar response = jwplatformApi.PostRequest(\"//videos/update\", requestParams, true);\n```\n### Example 3: POST w/ Query Parameters - [`/accounts/tags/create`](https://developer.jwplayer.com/jwplayer/reference#post_accounts-tags-create)\nAn example of how to create a new video tag on your account.\n```csharp\nvar jwplatformApi = new Api(API_KEY, API_SECRET);\n\nvar requestParams = new Dictionary\u003cstring, string\u003e {\n\t{\"name\", \"New Tag\"}\n}\n\n// Asynchronously\nvar response = await jwplatformApi.PostRequestAsync(\"/accounts/tags/create\", requestParams, false);\n\n// Synchronously\nvar response = jwplatformApi.PostRequest(\"/accounts/tags/create\", requestParams, false);\n```\n### Example 4: Upload\nUploading files is a two-step process. \n1. A `/videos/create` call is done to set up the video's info.\\\n(See [here](https://developer.jwplayer.com/jwplayer/reference#post_videos-create) to see the video info properties that can be set)\n2. The video file is uploaded.\n\nFor more information on the uploading process, see [here](https://developer.jwplayer.com/jwplayer/docs/upload-files).\n\nAn example of how to upload a local video file to your account.\n```csharp\nvar jwplatformApi = new Api(API_KEY, API_SECRET);\n\nvar videoInfo = new Dictionary\u003cstring, string\u003e {\n\t{\"title\", \"My Video\"},\n\t{\"author\", \"Me\"}\n}\n\nvar localFilePath = \"path/to/video_file.mov\";\n\n// Asynchronously\nvar response = await jwplatformApi.UploadAsync(videoInfo, localFilePath);\n\n// Synchronously\nvar response = jwplatformApi.UploadRequest(videoInfo, localFilePath);\n```\n# Test\nTo run the unit tests, you must have a local copy of the client. You can easily run the tests using Visual Studio by opening the Test Explorer. \n\nIf using .NET CLI, run the following command in the root of the project:\n```\ndotnet test\n```\n\n# Supported Operations\nAll Management API endpoints are supported. Please refer [here](https://developer.jwplayer.com/jwplayer/reference#management-api-introduction).\n# License\nThis JW Platform API library is distributed under the\n[Apache 2 License](LICENSE)\n\n**For any requests, bug or comments, please [open an issue](https://github.com/jwplayer/jwplatform-dotnet/issues) or [submit a pull request](https://github.com/jwplayer/jwplatform-dotnet/pulls).**","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjwplayer%2Fjwplatform-dotnet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjwplayer%2Fjwplatform-dotnet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjwplayer%2Fjwplatform-dotnet/lists"}