تُرجع =LET(j,WEBSERVICE("https://api.goldprice.dev/v1/spot/XAU-USD-SPOT"),s,SEARCH("""price"":""",j)+9,VALUE(MID(j,s,SEARCH("""",j,s)-s))) سعر XAU/USD للأونصة التروي في Excel 365 على Windows. لا تتوفر WEBSERVICE على Mac والويب. لا تحتاج مفتاحًا. تستهلك كل إعادة حساب للمصنف من الحصة المجهولة البالغة 5,000 استدعاء/شهر. تتأخر الأسعار المجانية 15 دقيقة. للتحديث المجدول، نزّل المصنف المرافق، وأضف مفتاح API والرمز إلى GoldpriceSettings، ثم الصق كود Power Query M المرفق على Windows. يستطيع Mac تحديث الاتصالات المدعومة المنشأة على Windows.
نزّل مصنف Excel المرافق
**نزّل قالب goldprice.dev لـExcel**. يتضمن جدول Setup، والاستعلام كاملًا كنص قابل للنسخ، وحاسبة للحصة، ومثالًا للنتيجة المتوقعة. يأتي القالب بحقل مفتاح API فارغ ودون اتصال مباشر.
أنشئ مفتاحًا مجانيًا في goldprice.dev/onboarding. لا تتطلب الخطة المجانية بطاقة ائتمان.
أدخل المفتاح والرمز في Setup
افتح المصنف وأدخل مفتاحك في Setup!B5. غيّر Setup!B6 فقط إذا أردت رمزًا غير XAU-USD-SPOT. تشكّل الخليتان جدول GoldpriceSettings الذي يقرأه الاستعلام.
يبقى المفتاح ظاهرًا في المصنف. احذفه قبل مشاركة الملف، أو استخدم أسلوب إدارة أسرار معتمدًا لدى مؤسستك.
أنشئ الاستعلام في Excel على Windows
في Excel على Windows، اختر بيانات → الحصول على بيانات → من مصادر أخرى → استعلام فارغ، وافتح المحرر المتقدم، واستبدل محتواه بالاستعلام أدناه. يوجد الكود نفسه في المصنف، ويتوفر أيضًا في ملف Power Query. سمِّ الاستعلام GoldPrice.
let Settings = Excel.CurrentWorkbook(){[Name="GoldpriceSettings"]}[Content], ApiKey = Text.Trim(Text.From(Table.SelectRows(Settings, each [Setting] = "ApiKey"){0}[Value])), Symbol = Text.Upper(Text.Trim(Text.From(Table.SelectRows(Settings, each [Setting] = "Symbol"){0}[Value]))), CheckedKey = if ApiKey = "" then error "Enter your goldprice.dev API key in Setup!B5" else ApiKey, Raw = Web.Contents( "https://api.goldprice.dev", [ RelativePath = "v1/spot/" & Symbol, Headers = [#"X-API-Key" = CheckedKey] ] ), Source = Json.Document(Raw), Result = #table( {"field", "value"}, { {"symbol", Source[symbol] & "-" & Source[quote_currency]}, {"price", Number.FromText(Source[price], "en-US")}, {"bid", if Record.HasFields(Source, "bid") and Source[bid] <> null then Number.FromText(Source[bid], "en-US") else null}, {"ask", if Record.HasFields(Source, "ask") and Source[ask] <> null then Number.FromText(Source[ask], "en-US") else null}, {"computed_at", Source[computed_at]}, {"is_stale", Source[is_stale]} } )in Resultحمّل النتيجة وحدّثها
انقر تم → إغلاق وتحميل. إذا سأل Excel عن طريقة الاتصال بـhttps://api.goldprice.dev، فاختر مجهول؛ يرسل الاستعلام مفتاحك في الترويسة. حدّث عبر بيانات → تحديث الكل.
يستطيع Excel على Mac تحديث اتصالات Power Query المدعومة التي أُنشئت على Windows، لكنه لا يوفّر محرر Power Query الكامل اللازم لإنشاء هذا الاتصال. الملف القابل للتنزيل قالب مرافق يحتاج إلى إعداد الاتصال.
غيّر العملة أو المعدن
غيّر Setup!B6، ثم حدّث. تتبع الرموز الصيغة METAL-CURRENCY-SPOT. يحوّل الاستعلام القيمة تلقائيًا إلى أحرف كبيرة ويحذف المسافات من طرفيها.
XAU-USD-SPOTXAU-INR-SPOTXAU-EUR-SPOTXAG-USD-SPOTالنتيجة المتوقعة
{ "symbol": "XAU", "quote_currency": "USD", "unit": "troy_ounce", "contract_type": "spot", "price": "4012.75", "is_stale": false, "computed_at": "2026-08-18T08:00:00Z"}يعرض الجدول symbol وprice وcomputed_at وis_stale. تتوفر قيمتا bid/ask للخطط المدفوعة فقط، وقد تكونان null. نسّق الخلايا الرقمية كعملة.
أخطاء شائعة
| الرمز | ما يظهر لك | الحل |
|---|---|---|
| 401 | يُرجع Power Query الخطأ DataSource.Error: 401 Unauthorized | المفتاح في Setup!B5 فارغ أو غير صالح. الصق مفتاحًا جديدًا من لوحة التحكم. إذا خزّن Excel بيانات اعتماد اتصال خاطئة، فامسح أذونات api.goldprice.dev واختر مجهول مجددًا. |
| 429 | يظهر أحيانًا DataSource.Error: 429 Too Many Requests | يعيد Power Query محاولة استجابة 429 تلقائيًا، ويستخدم Retry-After عندما يوفّره API. إذا استمر الفشل، فقلّل وتيرة التحديث. تقدّر ورقة Setup الاستدعاءات الشهرية؛ احسب جميع الاستعلامات والمصنفات معًا. راجع الأسعار إذا تجاوز الإجمالي خطتك. |
| N/A | لا يعرض Excel على Mac محرر Power Query الكامل | هذا قيد في المنصة وليس خطأ API. أنشئ اتصال M المخصص مرة في Excel على Windows، ثم افتح المصنف المتصل وحدّثه على إصدار Mac مدعوم. |
خطوات إضافية
- أنشئ عمود تنبيه للسعر:
=IF([@price] > 4800, "ALERT", "OK") - تتبّع الذهب والفضة في استعلامين منفصلين، ثم اجمعهما في لوحة واحدة
- اجلب البيانات اليومية الحديثة من
/v1/barsلرسم بياني أو اختبار تاريخي - اربط السعر المحدّث بنموذج تقييم بدل لصق القيم يدويًا