
تكاثر مخبري مصرح به لـ CVE-2025-47928 (تسريب أسرار spotipy-dev/spotipy pull_request_target) — لقطة عند الالتزام الضعيف 4f5759d
أداة بحث آلية — ليست المشروع الأصلي.
هذا المستودع عبارة عن بيئة مختبرية مؤقتة أُنشئت بواسطة نظام آلي لرسالة ماجستير في جامعة لافال حول إعادة إنتاج ثغرات سير عمل GitHub Actions المنشورة. وهو لقطة حرفية من
spotipy-dev/spotipyعند الالتزام4f5759dbfb4506c7b6280572a4db1aabc1ac778d(2025-04-21)، ويُعاد توزيعه بموجب ترخيص المشروع نفسه، الذي تم تضمين ملفه دون تغيير في هذه اللقطة.المشروع الأصلي ليس طرفًا فيه، ولا يُستهدف أبدًا، والثغرة التي تمت دراستها هنا معلنة بالفعل. كل سر ومتغير في هذا المستودع هو قيمة وهمية مولّدة عشوائيًا — لا توجد أي بيانات اعتماد حقيقية. مراجع الإجراءات وصور المشغّل مثبتة على ما تم حله في 2025-04-21؛ راجع
pinning.mdفي مخرجات النظام الآلي لمعرفة كل تغيير تم إجراؤه على اللقطة.الأسئلة أو الاعتراضات: [email protected]
يدعم Spotipy جميع ميزات Spotify Web API بما في ذلك الوصول إلى جميع نقاط النهاية، ودعم تفويض المستخدم. للحصول على تفاصيل حول الإمكانيات، يُنصح بمراجعة وثائق Spotify Web API.
pip install spotipy
بدلاً من ذلك، لمستخدمي ويندوز
py -m pip install spotipy
أو للترقية
pip install spotipy --upgrade
يمكن العثور على مجموعة كاملة من الأمثلة في الوثائق عبر الإنترنت وفي دليل أمثلة Spotipy.
للبدء، ثبّت spotipy، وأنشئ حسابًا جديدًا أو سجّل الدخول على https://developers.spotify.com/. انتقل إلى لوحة التحكم، وأنشئ تطبيقًا وأضف معرفك وسرّك الجديدين (يمكن العثور على المعرف والسر في إعدادات التطبيق) إلى بيئتك:
import spotipy
from spotipy.oauth2 import SpotifyClientCredentials
sp = spotipy.Spotify(auth_manager=SpotifyClientCredentials(client_id="YOUR_APP_CLIENT_ID",
client_secret="YOUR_APP_CLIENT_SECRET"))
results = sp.search(q='weezer', limit=20)
for idx, track in enumerate(results['tracks']['items']):
print(idx, track['name'])
النتيجة المتوقعة:
0 Island In The Sun
1 Say It Ain't So
2 Buddy Holly
.
.
.
18 Troublemaker
19 Feels Like Summer
يجب إضافة URI لإعادة التوجيه إلى تطبيقك في لوحة التحكم الخاصة بي للوصول إلى الميزات المصادق عليها من قبل المستخدم.
import spotipy
from spotipy.oauth2 import SpotifyOAuth
sp = spotipy.Spotify(auth_manager=SpotifyOAuth(client_id="YOUR_APP_CLIENT_ID",
client_secret="YOUR_APP_CLIENT_SECRET",
redirect_uri="YOUR_APP_REDIRECT_URI",
scope="user-library-read"))
results = sp.current_user_saved_tracks()
for idx, item in enumerate(results['items']):
track = item['track']
print(idx, track['artists'][0]['name'], " – ", track['name'])
النتيجة المتوقعة ستكون قائمة الموسيقى التي أعجبتك. على سبيل المثال، إذا أعجبتك Red وSunflower، ستكون النتيجة:
0 Post Malone – Sunflower - Spider-Man: Into the Spider-Verse
1 Taylor Swift – Red
للأسئلة الشائعة، يرجى مراجعة الأسئلة الشائعة.
يمكنك طرح أسئلة حول Spotipy على Stack Overflow. لا تنسَ إضافة وسم Spotipy، وأي وسوم أخرى ذات صلة أيضًا، قبل النشر.
إذا كانت لديك اقتراحات أو أخطاء أو مشكلات أخرى خاصة بهذه المكتبة، فأبلغ عنها هنا. أو فقط أرسل طلب سحب.
إذا كنت مطورًا لديه خبرة في بايثون، وترغب في المساهمة في Spotipy، فيرجى التأكد من اتباع الإرشادات المدرجة في صفحة الوثائق