Generate New Api Key Kodi

Posted : admin On 15.12.2020

If you have a personal API Key, entering it into the metahandler settings is highly recommend and only takes a moment: From your Kodi main menu, navigate to SYSTEM Add-ons SYSTEM Dependencies Metahandler Configure. Add your personal API Key under TMDB and enable the Override option. Oct 22, 2018  Redo: How To Create Youtube API Key With ID and Secret, Sign-In, No More Youtube Over Quota Limit. Duration: 11:28. Diamond Build 6,331 views. Click Generate, and make note of the Key ID and Key Secret for your records. Note: You cannot retrieve the Key Secret after you navigate away from this page. A new Key Id and Key Secret are created each time you click Generate.

Notification Agents

  1. Click on Allow Notifications and give permission for Tautulli to send notifications through your browser.
  1. Go to the Settings page in your Boxcarr app.
  2. Copy the Access Token and fill in the Tautulli setting.
  1. Go to Discord, and click on Edit Channel for the channel where you want the notifications to be sent.
  2. Go to the Webhooks tab and click on Create Webhook.
  3. Give your webhook bot a Name and Icon. This can be changed in the Tautulli settings instead if you wish.
  4. Copy the Webhook URL and fill in the Tautulli setting.
  • Note: Some anti-virus software have 'Email protection' which may prevent sending emails via SMTP from a script. This will either need to be disabled, or add an exception for Tautulli to send emails.

Gmail

  • Note: If you use 2-factor authentication, then you will need to generate an app password here.
  • Note: If you don't use 2-factor authentication, you may need to allow less secure apps to access your account. See Option 2 here.

Outlook.com

  • Note: If you use 2-factor authentication, then you will need to generate an app password here.

Facebook has blocked all non approved applications from posting to a group programmatically. Although Tautulli shouldn't be against their terms, they are refusing to approve any app that can do this.

There only currently known workaround is that Zapier also allows posting to Facebook, see their agent guide for how to set this up. See here for an example Facebook configuration within Zapier.

Old, non-working instructions

This script by @spuniun could be used to post directly, however Facebook has started banning accounts using it so it has been removed from the recommended methods. See the Custom Scripts page for help setting it up.

Note: Facebook has redone their app approval process, as such all apps must go through the approval process fully before they will work again. To workaround this you can send notifications via email to the groups secret email address from an account that is in the group.

Note: As of March 2018, all new Facebook apps require HTTPS for authorization. If Tautulli is not running with HTTPS, the easiest method would be to check 'Enable HTTPS' under the Web Interface tab (show advanced). This can be disabled after authorizing with Facebook.

  1. Go to Facebook Developers and click Add a New App.
  2. Click Add Product on the left, then click Set Up for Facebook Login.
  3. Skip the Quickstart and go to Facebook Login > Settings on the left, and fill in the Valid OAuth redirect URIs with the one provided by Tautulli.
  4. Go to Settings > Basic on the left, and fill in a Privacy Policy URL.
  5. On the same page, get your App ID and App Secret and fill in the respective Tautulli settings.
  6. Go to App Review on the left, and toggle your app to toggle 'Make Public' to Yes.
  7. Click the Request Authorization button in Tautulli to allow it to access your Facebook account. Make sure the app visibility is set to Public or Friends (Only Me will not work).
  8. Copy the Access Token and fill in the Tautulli setting if it is not filled in automatically.
  9. Get your Group ID from the URL of your group page (e.g. https://www.facebook.com/groups/<GROUP_ID>) and fill in the Tautulli setting. If you have customized the URL and no longer have easy access to the Group ID, see this answer for how to obtain it. Note: You should only put the ID in the setting for Tautulli, not the full URL.
  1. Go to GroupMe Developers and click Access Token at the top. Copy the token and fill in the Tautulli setting.
  2. Go to the Bots tab at the top and click Create Bot.
  3. Select the group chat where you want the notifications to be sent, give your bot a Name and Avatar, and click Submit. All other fields can be left at their default values.
  4. Copy the Bot ID and fill in the Tautulli setting.
  1. Open Growl and go to the General tab to make sure Growl is turned On and running.
  2. Optional: Go to the Security tab to set up a Password. Check 'Allow network notifications' if Growl is running on a separate machine than Tautulli.
  3. Fill in the Host for the machine running Growl (e.g. localhost or 192.168.0.100) in the Tautulli settings.
  4. Fill in the Password, if required, in the Tautulli settings.
  1. Go to Hipchat Integrations, select the room where you want the notifications to be sent, and click Build your own integration.
  2. Give your integration a Name and click Create.
  3. Copy the Integration URL and fill in the Tautulli setting.
  1. Go to IFTTT and set up your Webhooks service.
  2. Click on Documentation to get your Webhook Key and fill in the Tautulli setting.
  3. Create a New Applet, with 'this' as 'Webhooks', and the trigger 'Receive a web request'.
  4. Fill in the Event Name with the the one that matches the Tautulli setting.
    • Tip: You can create different IFTTT events (e.g. tautulli_play, tautulli_stop, tautulli_created, etc.) by adding {action} to the Event Name in Tautulli (e.g. tautulli_{action}).
  5. Select 'that' as whichever service you want.
  6. Fill in the settings of your service by adding the ingredients Value1, Value2, and Value3.
    • Value1 will be the subject line in your notification text settings.
    • Value2 will be the body text in your notification text settings.
    • (Optional) Value3 can be anything you select (e.g. Poster URL).
  1. Go to Join App, and click on Join API, then Show.
  2. Copy the API Key and fill in the Tautulli setting.
  1. From within Kodi, go to Settings > Service settings > Control, and make sure 'Allow remote control via HTTP' is checked.
  2. Optional: Set the Port, Username, and Password for the Kodi Webserver. The default port is 8080.
  3. Enter in the Host Address for the machine running Kodi (e.g. http://localhost:8080) in the tautulli settings.
  4. Fill in the Username and Password, if required, in the Tautulli settings.

Note: macOS Notification Center notifications will only work on the machine where Tautulli is installed.

  1. Fill in the path to your Tautulli application. The default is /Applications/Tautulli.
  2. Click the Register App button to register Tautulli with the Notification Center.
  1. Fill in the settings from your MQTT broker.
  1. Go to Notify My Android and click Generate New Key.
  2. Copy the API Key and fill in the Tautulli setting.

Note: Plex Home Theater notifications only work with OpenPHT or RasPlex.

  1. From within OpenPHT/RasPlex, go to Preferences > System > Services, and make sure 'Allow remote control via HTTP' is checked.
  2. Enter in the Host Address for the machine running OpenPHT or RasPlex with the port 3005 (e.g. http://localhost:3005).
  3. Fill in the Username and Password, if required, in the Tautulli settings.
  1. Go to Prowl, and generate a new API key by clicking Generate Key.
  2. Copy the API Key and fill in the Tautulli Setting.
  1. Go to Pushbullet Account Settings, and click Create Access Token.
  2. Copy the Access Token and fill in the Tautulli Setting.
  1. Go to Pushover, and Create a New Application.
  2. Give your application a Name and Icon, and click Create Application.
  3. Go back to the Pushover homepage.
    • If you want to send notifications to yourself, copy your User Key and fill in the Tautulli setting.
    • If you want to send notifications to a group, go to Create a New Group. Copy the Group Key and fill in the Tautulli setting.
  • Please see the Custom Scripts Wiki Page.
  1. Go to Slack, and create a new Incoming Webhook.
  2. Select the slack channel where you want the notifications to be sent, and click Add Incoming Webhooks integration.
  3. Copy your Webhook URL and fill in the Tautulli setting.
  4. Scroll down to Integration Settings, and give your integration a Name and Icon. This can be changed in the Tautulli settings instead if you wish.
  • Please see the Tautulli Remote Wiki on how to register your Tautulli Remote Android App.
  1. Message @BotFather on Telegram with the command /newbot to create a new bot.
  2. Follow the instructions to give your bot a display name and a bot username.
  3. Copy the Bot Token and fill in the Tautulli setting.

Sending Messages to Yourself

  1. Create a new chat with your bot.
  2. Message @IDBot on Telegram with the command /getid to get your Chat ID.
  3. Copy the Chat ID and fill in the Tautulli setting.

Sending Messages to a Group

  1. Create a new group chat with your bot and @IDBot.
  2. Message @IDBot in the group with the command /getgroupid to get your Group ID.
  3. Copy the Group ID and fill in the Tautulli setting. Don't forget the hyphen (-) in the Group ID.

/microsoft-product-key-generator-all-in-one.html. Sending Messages to a Channel

  1. Create a new Public Channel in Telegram.
  2. Go to Manage Channel and add your bot to the Administrators.
  3. Add a 'Link' to your channel. This is your channel username (e.g. t.me/<CHANNEL_USERNAME>).
  4. Copy the Channel Username and fill in the Tautulli setting. Don't forget the at sign (@<CHANNEL_USERNAME>) in the Channel Username.
  1. Go to Twitter Apps and click Create New App.
  2. Give your app a Name, Description, and Website. A valid website is not required.
  3. Go to the 'Keys and Access Tokens' tab to get your Consumer Key and Consumer Secret, and fill in the respective Tautulli settings.
  4. Click on Create my access token to get your Access Token and Access Token Secret, and fill in the respective Tautulli settings.
  1. Find the Webhook URL for the service you are going to be using and fill in the Tautulli setting. Some examples:
    • Discord: Intro to Webhooks
    • Slack: Incoming Webhooks
  2. Pick the appropriate HTTP request method for your Webhook Method. Generally you want to select POST here.
  3. Customize the raw JSON Data sent to the webhook on the Data tab.
  1. Go to Zapier and Make a Zap.
  2. For 'When this happens..', Choose App as 'Webhooks by Zapier', and Choose Trigger as 'Catch Hook', then click Continue.
  3. Copy the Custom Webhook URL and fill in the Tautulli setting, then click Continue in Zapier.
  4. Click Test & Review in Zapier, then click the Send Test Data button in Tautulli. A new hook will show up in Zapier with test data from Tautulli. Once everything is okay, click Done Editing.
  5. For 'Do this..', Choose App as whichever service you want, and follow the instructions to connect the service.
  6. Set Up Template using the values Body, Subject, Action, Provider Name, Provider Link, Plex URL, and Poster URL. These values will all be filled in by Tatutulli.
  7. Make sure your Zap is turned on in the top right.

Introduction

This document is intended for developers who want to write applications that interact with YouTube. It explains basic concepts of YouTube and of the API itself. It also provides an overview of the different functions that the API supports.

Before you start

  1. You need a Google Account to access the Google API Console, request an API key, and register your application.

  2. Create a project in the Google Developers Console and obtain authorization credentials so your application can submit API requests.

  3. After creating your project, make sure the YouTube Data API is one of the services that your application is registered to use:

    1. Go to the API Console and select the project that you just registered.
    2. Visit the Enabled APIs page. In the list of APIs, make sure the status is ON for the YouTube Data API v3.
  4. If your application will use any API methods that require user authorization, read the authentication guide to learn how to implement OAuth 2.0 authorization.

  5. Select a client library to simplify your API implementation.

  6. Familiarize yourself with the core concepts of the JSON (JavaScript Object Notation) data format. JSON is a common, language-independent data format that provides a simple text representation of arbitrary data structures. For more information, see json.org.

Resources and resource types

A resource is an individual data entity with a unique identifier. The table below describes the different types of resources that you can interact with using the API.

Resources
activityContains information about an action that a particular user has taken on the YouTube site. User actions that are reported in activity feeds include rating a video, sharing a video, marking a video as a favorite, and posting a channel bulletin, among others.
channelContains information about a single YouTube channel.
channelBannerIdentifies the URL to use to set a newly uploaded image as the banner image for a channel.
channelSectionContains information about a set of videos that a channel has chosen to feature. For example, a section could feature a channel's latest uploads, most popular uploads, or videos from one or more playlists.
guideCategoryIdentifies a category that YouTube associates with channels based on their content or other indicators, such as popularity. Guide categories seek to organize channels in a way that makes it easier for YouTube users to find the content they're looking for. While channels could be associated with one or more guide categories, they are not guaranteed to be in any guide categories.
i18nLanguageIdentifies an application language that the YouTube website supports. The application language can also be referred to as a UI language.
i18nRegionIdentifies a geographic area that a YouTube user can select as the preferred content region. The content region can also be referred to as a content locale.
playlistRepresents a single YouTube playlist. A playlist is a collection of videos that can be viewed sequentially and shared with other users.
playlistItemIdentifies a resource, such as a video, that is part of a playlist. The playlistItem resource also contains details that explain how the included resource is used in the playlist.
search resultContains information about a YouTube video, channel, or playlist that matches the search parameters specified in an API request. While a search result points to a uniquely identifiable resource, like a video, it does not have its own persistent data.
subscriptionContains information about a YouTube user subscription. A subscription notifies a user when new videos are added to a channel or when another user takes one of several actions on YouTube, such as uploading a video, rating a video, or commenting on a video.
thumbnailIdentifies thumbnail images associated with a resource.
videoRepresents a single YouTube video.
videoCategoryIdentifies a category that has been or could be associated with uploaded videos.
watermarkIdentifies an image that displays during playbacks of a specified channel's videos. The channel owner can also specify a target channel to which the image links as well as timing details that determine when the watermark appears during video playbacks and then length of time it is visible.

Note that, in many cases, a resource contains references to other resources. For example, a playlistItem resource's snippet.resourceId.videoId property identifies a video resource that, in turn, contains complete information about the video. As another example, a search result contains either a videoId, playlistId, or channelId property that identifies a particular video, playlist, or channel resource.

Supported operations

The following table shows the most common methods that the API supports. Some resources also support other methods that perform functions more specific to those resources. For example, the videos.rate method associates a user rating with a video, and the thumbnails.set method uploads a video thumbnail image to YouTube and associates it with a video.

Operations
listRetrieves (GET) a list of zero or more resources.
insertCreates (POST) a new resource.
updateModifies (PUT) an existing resource to reflect data in your request.
deleteRemoves (DELETE) a specific resource.

The API currently supports methods to list each of the supported resource types, and it supports write operations for many resources as well.

The table below identifies the operations that are supported for different types of resources. Operations that insert, update, or delete resources always require user authorization. In some cases, list methods support both authorized and unauthorized requests, where unauthorized requests only retrieve public data while authorized requests can also retrieve information about or private to the currently authenticated user.

Supported Operations
listinsertupdatedelete
activity
caption
channel
channelBanner
channelSection
comment
commentThread
guideCategory
i18nLanguage
i18nRegion
playlist
playlistItem
search result
subscription
thumbnail
video
videoCategory
watermark

Quota usage

The YouTube Data API uses a quota to ensure that developers use the service as intended and do not create applications that unfairly reduce service quality or limit access for others. All API requests, including invalid requests, incur at least a one-point quota cost. You can find the quota available to your application in the API Console.

Projects that enable the YouTube Data API have a default quota allocation of 10 thousand units per day, an amount sufficient for the overwhelming majority of our API users. Default quota, which is subject to change, helps us optimize quota allocations and scale our infrastructure in a way that is more meaningful to our API users. You can see your quota usage on the Usage tab for the API in the Google Developer's Console.

Note: If you reach the quota limit, you can request additional quota on the Quotas tab in the Developer's Console.

Note that projects that had enabled the YouTube Data API before April 20, 2016, have a different default quota for that API.

Calculating quota usage

Google calculates your quota usage by assigning a cost to each request, but the cost is not the same for each request. Two primary factors influence a request's quota cost:

  1. Different types of operations have different quota costs.

    • A simple read operation that only retrieves the ID of each returned resource has a cost of approximately 1 unit.
    • A write operation has a cost of approximately 50 units.
    • A video upload has a cost of approximately 1600 units.
  2. Read and write operations use different amounts of quota depending on the number of resource parts that each request retrieves. Note that insert and update operations write data and also return a resource. So, for example, inserting a playlist has a quota cost of 50 units for the write operation plus the cost of the returned playlist resource.

    As discussed in the following section, each API resource is divided into parts. For example, a playlist resource has two parts, snippet and status, while a channel resource has six parts and a video resource has 10. Each part contains a group of related properties, and the groups are designed so that your application only needs to retrieve the types of data that it actually uses.

    An API request that returns resource data must specify the resource parts that the request retrieves. Each part then adds approximately 2 units to the request's quota cost. As such, a videos.list request that only retrieves the snippet part for each video might have a cost of 3 units. However, a videos.list request that retrieves all of the parts for each resource might have a cost of around 21 quota units.

With these rules in mind, you can estimate the number of read, write, or upload requests that your application could send per day without exceeding your quota. For example, if you have a daily quota of 1,000,000 units, your application could have any of the following approximate limits:

  • 200,000 read operations that each retrieve two resource parts.
  • 10,000 write operations and 90,000 additional read operations that each retrieve two resource parts.
  • 400 video uploads, 1500 write operations, and 50,000 read operations that each retrieve two resource parts.

Important: Only retrieving the resource parts that your application needs conserves your daily quota and make the entire system more efficient.

Partial resources

The API allows, and actually requires, the retrieval of partial resources so that applications avoid transferring, parsing, and storing unneeded data. This approach also ensures that the API uses network, CPU, and memory resources more efficiently.

The API supports two request parameters, which are explained in the following sections, that enable you to identify the resource properties that should be included in API responses.

Api Key Generator

  • The part parameter identifies groups of properties that should be returned for a resource.
  • The fields parameter filters the API response to only return specific properties within the requested resource parts.

How to use the part parameter

Kodi Youtube Api Key

The part parameter is a required parameter for any API request that retrieves or returns a resource. The parameter identifies one or more top-level (non-nested) resource properties that should be included in an API response. For example, a video resource has the following parts:

  • snippet
  • contentDetails
  • fileDetails
  • player
  • processingDetails
  • recordingDetails
  • statistics
  • status
  • suggestions
  • topicDetails

All of these parts are objects that contain nested properties, and you can think of these objects as groups of metadata fields that the API server might (or might not) retrieve. As such, the part parameter requires you to select the resource components that your application actually uses. This requirement serves several purposes:

  • It lets you manage your API quota usage. If you increase the number of parts you retrieve in API responses, your API usage increases accordingly, and your available quota decreases.
  • It reduces latency by preventing the API server from spending time retrieving metadata fields that your application doesn't use.
  • It reduces bandwidth usage by reducing (or eliminating) the amount of unnecessary data that your application might retrieve.

Over time, as resources add more parts, these benefits will only increase since your application will not be requesting newly introduced properties that it doesn't support.

How to use the fields parameter

The fields parameter filters the API response, which only contains the resource parts identified in the part parameter value, so that the response only includes a specific set of fields. The fields parameter lets you remove nested properties from an API response and thereby further reduce your bandwidth usage. (The part parameter cannot be used to filter nested properties from a response.)

The following rules explain the supported syntax for the fields parameter value, which is loosely based on XPath syntax:

  • Use a comma-separated list (fields=a,b) to select multiple fields.
  • Use an asterisk (fields=*) as a wildcard to identify all fields.
  • Use parentheses (fields=a(b,c)) to specify a group of nested properties that will be included in the API response.
  • Use a forward slash (fields=a/b) to identify a nested property.

In practice, these rules often allow several different fields parameter values to retrieve the same API response. For example, if you want to retrieve the playlist item ID, title, and position for every item in a playlist, you could use any of the following values:

  • fields=items/id,playlistItems/snippet/title,playlistItems/snippet/position
  • fields=items(id,snippet/title,snippet/position)
  • fields=items(id,snippet(title,position))

How To Generate Api Key

Note: As with all query parameter values, the fields parameter value must be URL encoded. For better readability, the examples in this document omit the encoding.

Sample partial requests

Api Key Google Maps

The examples below demonstrate how you can use the part and fields parameters to ensure that API responses only include the data that your application uses:

Generate Api Key

  1. Example 1 returns a video resource that includes four parts as well as kind and etag properties.
  2. Example 2 returns a video resource that includes two parts as well as kind and etag properties.
  3. Example 3 returns a video resource that includes two parts but excludes kind and etag properties.
  4. Example 4 returns a video resource that includes two parts but excludes kind and etag as well as some nested properties in the resource's snippet object.