Translate Ideas and Comments
Choose language:
There was an error during translation

Settings and activity

  1. 279 votes

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    18 comments  ·  Developers » API  ·  Flag idea as inappropriate…  ·  Admin →

    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We wanted to provide further context regarding this request as it is the most upvoted suggestion. There are several great use cases for providing the offset of Clips (including those above), but there are also ways in which it can be used negatively. For that reason, our initial decision was to no longer provide this information. With your feedback provided here, we are actively evaluating how to balance enabling good use of this information for creators while negating its potential for abuse. The status will be updated when we can share more information.

    An error occurred while saving the comment
    Tenosis commented  · 

    I'm having a very hard time believing that there are negative use cases that are specifically enabled by having the offset information available. As far as I can remember, this information has been available since Clips launched and is STILL used for functionality on the Twitch website. If you insist that this is an issue, then VODs as a whole are an issue.

    An error occurred while saving the comment
    Tenosis commented  · 

    I have been forced to go ahead with placing a notice on my site explaining the loss of functionality along with a link to this UserVoice. Including the original post, Twitch has had over 2 YEARS to implement this.

    An error occurred while saving the comment
    Tenosis commented  · 

    I'm baffled as to how this still isn't implemented when we're so close to v5 shutdown.

    Go to any recent clip page on Twitch and note the "Watch Full Video" button. That is making use of the type of information we need in the API. It's available in the v5 API, but not in the Helix API.

    The 'created_at' response field is NOT a "good enough" alternative because it has no relation to the ORIGINAL MOMENT IN TIME FROM THE BROADCAST that the clip is a video of. A clip can be created up to 2 MONTHS after the original broadcast.

    As an example: With the v5 API I can easily tell if a clip is a duplicate of another one made by someone else that covers the same range of time. With the Helix API this is literally impossible.

    I just can't think of any justification for not including this information in the response.

    An error occurred while saving the comment
    Tenosis commented  · 

    With the announcement of the upcoming shutdown of the v5 API, I'm appalled that something this essential still hasn't been implemented. To give you an idea of how important it is, *Twitch itself* REQUIRES this information in order to have the "Watch Full Video" link on clip pages.

    Without this information, my service (StreamXRef) won't be able to use clips as a cross-reference point since there would be no way to know when in the video the clip occurred.

    Tenosis supported this idea  · 
  2. 6 votes

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    3 comments  ·  Developers » API  ·  Flag idea as inappropriate…  ·  Admin →

    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    An error occurred while saving the comment
    Tenosis commented  · 

    With the older v5 API I can just do the following in Python:

    duration = timedelta(seconds=int(data["length"]))

    With the Helix API endpoint, I had to set up the following function instead (ignore the dashes since spacing at the start was removed):

    hms_pattern = re.compile(r"(?:(?P<hours>\d+)h)?(?:(?P<minutes>\d+)m)?(?P<seconds>\d+)s", re.I)

    def parse_hms(hms_string: str) -> timedelta:
    ----tdict = dict()
    ----tmatch = re.search(hms_pattern, hms_string)
    ----if tmatch is None:
    --------raise ValueError
    ----for k, v in tmatch.groupdict().items():
    --------tdict[k] = 0 if v is None else int(v)
    ----return timedelta(**tdict)

    Tenosis supported this idea  ·