Выполняю проект в рамках университетского курса по науке о данных и работаю с API-интерфейсами впервые. Мне нужно получить различные данные о треках с помощью Spotify API, но я столкнулся с проблемой на раннем этапе. Я могу получить доступ к некоторым основным данным о популярности треков, продолжительности и т. д., но получаю ошибку 403 при попытке получить аудио-функции. Насколько я искал помощь в Интернете, очевидно, у меня недостаточно разрешений в области моего токена доступа Spotify. Но я не знаю, как решить эту проблему.
Я попытался получить звуковые характеристики (например, темп, танцевальность, энергию) для тех же треков, используя sp.audio_features(track_ids) . Вот здесь и возникает проблема.
Когда я запускаю код, я получаю сообщение об ошибке, и аудиофункции не извлекаются.
Ошибка: «Ошибка HTTP для GET на https://api.spotify.com... с параметрами: {} возвращено 403 из-за отсутствия»
from spotipy.oauth2 import SpotifyOAuth
import spotipy
from dotenv import load_dotenv
import os
import pandas as pd
load_dotenv()
client_id = os.getenv("SPOTIPY_CLIENT_ID")
client_secret = os.getenv("SPOTIPY_CLIENT_SECRET")
redirect_uri = os.getenv("SPOTIPY_REDIRECT_URI")
auth_manager = SpotifyOAuth(
client_id=client_id,
client_secret=client_secret,
redirect_uri=redirect_uri,
scope="user-top-read"
)
sp = spotipy.Spotify(auth_manager=auth_manager)
# Fetch data
top_tracks = sp.current_user_top_tracks(limit=10)
track_data = []
track_ids = []
for item in top_tracks['items']:
track_ids.append(item['id'])
track_data.append({
'track_id': item['id'],
'track_name': item['name'],
'artists': ", ".join(artist['name'] for artist in item['artists']),
'popularity': item['popularity'],
'explicit': item['explicit'],
'duration_ms': item['duration_ms']
})
# Fetch audio features
try:
audio_features = sp.audio_features(track_ids) # Causing errors
audio_features_df = pd.DataFrame(audio_features)
df = pd.DataFrame(track_data)
df = pd.merge(df, audio_features_df, left_on='track_id', right_on='id')
except:
print("Can not access audio features")
df = pd.DataFrame(track_data)
df.head(10)
Подробнее здесь: https://stackoverflow.com/questions/792 ... potify-api
Невозможно получить доступ к функциям аудио треков с помощью извлечения Spotipy из API Spotify. ⇐ Python
Программы на Python
1732981660
Anonymous
Выполняю проект в рамках университетского курса по науке о данных и работаю с API-интерфейсами [b]впервые[/b]. Мне нужно получить различные данные о треках с помощью Spotify API, но я столкнулся с проблемой на раннем этапе. Я могу получить доступ к некоторым основным данным о популярности треков, продолжительности и т. д., но получаю ошибку 403 при попытке получить аудио-функции. Насколько я искал помощь в Интернете, очевидно, у меня недостаточно разрешений в области моего токена доступа Spotify. Но я не знаю, как решить эту проблему.
Я попытался получить звуковые характеристики (например, темп, танцевальность, энергию) для тех же треков, используя sp.audio_features(track_ids) . Вот здесь и возникает проблема.
Когда я запускаю код, я получаю сообщение об ошибке, и аудиофункции не извлекаются.
Ошибка: «Ошибка HTTP для GET на https://api.spotify.com... с параметрами: {} возвращено 403 из-за отсутствия»
from spotipy.oauth2 import SpotifyOAuth
import spotipy
from dotenv import load_dotenv
import os
import pandas as pd
load_dotenv()
client_id = os.getenv("SPOTIPY_CLIENT_ID")
client_secret = os.getenv("SPOTIPY_CLIENT_SECRET")
redirect_uri = os.getenv("SPOTIPY_REDIRECT_URI")
auth_manager = SpotifyOAuth(
client_id=client_id,
client_secret=client_secret,
redirect_uri=redirect_uri,
scope="user-top-read"
)
sp = spotipy.Spotify(auth_manager=auth_manager)
# Fetch data
top_tracks = sp.current_user_top_tracks(limit=10)
track_data = []
track_ids = []
for item in top_tracks['items']:
track_ids.append(item['id'])
track_data.append({
'track_id': item['id'],
'track_name': item['name'],
'artists': ", ".join(artist['name'] for artist in item['artists']),
'popularity': item['popularity'],
'explicit': item['explicit'],
'duration_ms': item['duration_ms']
})
# Fetch audio features
try:
audio_features = sp.audio_features(track_ids) # Causing errors
audio_features_df = pd.DataFrame(audio_features)
df = pd.DataFrame(track_data)
df = pd.merge(df, audio_features_df, left_on='track_id', right_on='id')
except:
print("Can not access audio features")
df = pd.DataFrame(track_data)
df.head(10)
Подробнее здесь: [url]https://stackoverflow.com/questions/79239871/cant-access-tracks-audio-features-using-spotipy-fetching-from-spotify-api[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия