C'è un modo semplice per determinare se un video musicale è disponibile per un brano nella mia libreria musicale di iTunes in iTunes Store?


0

Ho un sacco di canzoni nella libreria musicale di iTunes e vorrei sapere per quali canzoni ci sono video musicali disponibili. Ma, l'unico modo che ho trovato per farlo è quello di cercare manualmente i video per ogni canzone e questo processo è semplicemente impraticabile.

Immagino che ci sia un modo semplice per sapere se c'è un video che posso acquistare per ogni canzone nella mia biblioteca.

Risposte:



0

Una soluzione imperfetta, ma che restituirà un insieme di risultati ragionevolmente accurato. Questo si basa sulla possibilità di utilizzare AppleScript con iTunes e un file pubblicato API per eseguire ricerche su iTunes Store. L'aspetto chiave che rende imperfetta questa soluzione è che i dati che posso ottenere da iTunes (nomi di artisti, ecc.) Non corrispondono necessariamente a quello che l'archivio di iTunes ha nel suo database.

Questo AppleScript richiede l'applicazione 'JSON Helper' da App Store. È gratis. Avevo bisogno che fosse in grado di analizzare il JSON che torno da Apple.

set _string to load script alias ((path to desktop as text) & "_string.scpt")
set _url to load script alias ("Macintosh HD:Users:ericgorr:depot:AppleScript:Library:_url.scpt")

set this_file to (((path to desktop folder) as text) & "videos")

tell application "iTunes"

    copy (count of tracks in playlist "4+") to trackCount

    log trackCount

    copy "https://itunes.apple.com/search?entity=musicVideo" to baseURL

    repeat with x from 1 to trackCount

        copy (artist of track x in playlist "4+") to theArtist
        copy (name of track x in playlist "4+") to theSongName

        copy (_url's urlEncode(theSongName)) to encodedSongName
        copy (baseURL & "&term=" & encodedSongName) to searchURL

        my write_to_file(theArtist & return, this_file, true)

        tell application "JSON Helper"
            set iTunesResults to fetch JSON from searchURL
            set resultCount to resultCount of iTunesResults

            repeat with y from 1 to resultCount

                set aResult to item y of results of iTunesResults

                set trackURL to trackViewUrl of aResult
                set returnedArtistName to artistName of aResult

                set outputLine to tab & returnedArtistName & tab & theSongName & tab & trackURL & return

                my write_to_file(outputLine, this_file, true)

            end repeat

        end tell
    end repeat

end tell



on write_to_file(this_data, target_file, append_data) -- (string, file path as string, boolean)
    try
        set the target_file to the target_file as text
        set the open_target_file to ¬
            open for access file target_file with write permission
        if append_data is false then ¬
            set eof of the open_target_file to 0
        write this_data to the open_target_file starting at eof
        close access the open_target_file
        return true
    on error
        try
            close access file target_file
        end try
        return false
    end try
end write_to_file
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.