2017-01-31 1 views
-1

Disons que j'ai une URL pour channel9 movie;Quelle est la meilleure façon d'appeler channel9 api pour obtenir de la vidéo?

Ex: https://channel9.msdn.com/Series/Office-365-Tips--Tricks/01-Wprowadzenie

Et je veux afficher ce film sur mon site, et afficher des informations pour elle ex. durée.

Tout ce que je sais déjà, je peux obtenir la liste des films en appelant

https://channel9.msdn.com/odata/Entries et le sauter +25 pour montrer 25 prochains résultats.

Ma mise en œuvre est quelque chose comme en ce moment:

  1. Obtenez 25 premiers éléments de api

  2. Itérer les throught

  3. comparer mon URL avec elementFromApi [i] .url Son Je travaille mais je n'aime pas cette solution, elle est non élégante et lente comme l'enfer. Je n'ai aucune connaissance de l'API donc je ne sais pas comment refactoriser cela.

Peut-être que quelqu'un de vous pourra m'aider.

PS. J'ai besoin d'informations d'api, embarque iframe avec url donné n'est pas la solution ici :) PS2. Désolé pour mon anglais.

Répondre

0

J'ai eu cette exigence par le biais de mon client et j'ai fini par le faire en RSS! Dans votre cas d'utilisation de l'URL est https://channel9.msdn.com/Series/Office-365-Tips--Tricks/01-Wprowadzenie - Simplement, nous pouvons lire le flux en utilisant le lien https://s.ch9.ms/Series/Office-365-Tips--Tricks/rss/mp4 - Dans PowerShell, nous pouvons explorer le contenu avec le morceau ci-dessous le code de

$Sessions = Invoke-Restmethod -Uri 'https://s.ch9.ms/Series/Office-365-Tips--Tricks/rss/mp4' -UseDefaultCredentials 
foreach($Session in $Sessions) { 
    $Duration = [timespan]::FromSeconds($Session.duration) 
    [pscustomobject]@{ 
     Title = $Session.title 
     Duration = ("{0:0}:{1:00}:{2:00}" -f ($Duration.Hours , $Duration.Minutes , $Duration.Seconds)) 
     Creator = $Session.creator 
     "URl(MP3)" = $Session.group.content.url[0] 
     "URl(MP4)" = $Session.group.content.url[1] 
     "URl(webm)" = $Session.group.content.url[2] 
     "URl(MP4High)" = $Session.group.content.url[3] 
    } 
} 

Nota: Le code doit être improvisé! La même chose peut être réalisée en utilisant C# - Mais je ne suis pas un développeur certifié - Donc, j'ai utilisé PowerShell pour répondre aux exigences du client.