التثبيت والربط والصلاحيات — دليل محفظتي (١)

Chapter 1 · Setup & Authorization

١ · التثبيت والربط والصلاحيات

ماذا ستربط ولماذا؟

الصلاحيةلماذا؟
قراءة Gmailليقرأ إيميلات «إشعار تنفيذ» ويستخرج صفقاتك. قراءة فقط — لا يرسل ولا يحذف شيئاً.
تعديل هذا الجدولليكتب الصفقات ويبني «الملخص».
✅ الخصوصية: لا طرف ثالث. السكربت كود مفتوح تراه بنفسك، يعمل داخل حساب Google الخاص بك، وبياناتك لا تغادره.

خطوات التثبيت (مرة واحدة، ~٥ دقائق)

  1. افتح جدول Google فارغ: اكتب sheets.new في المتصفح.
  2. من القائمة: Extensions → Apps Script.
  3. احذف أي كود في Code.gs والصق السكربت كاملاً.
  4. أضف ملف اللوحة: + بجانب Files → HTML → سمِّه Dashboard بالضبط → الصق محتواه.
  5. احفظ Ctrl+Sزر Run يبقى رمادياً حتى تحفظ.
  6. اختر الدالة setup من القائمة بجانب Run ثم اضغط Run.

شاشة الصلاحيات — ماذا سترى بالضبط

  1. «Authorization required» → Review permissions.
  2. اختر حسابك (الذي تصله إيميلات الراجحي).
  3. تحذير «Google hasn't verified this app» — طبيعي 100%: أنت المطوّر وأنت المستخدم. اضغط Advanced ثم Go to (unsafe).
  4. قائمة الصلاحيات → Allow.
  5. بعد ثوانٍ ترى «تم · X صفقة» وتمتلئ التبويبات.
💡 انقطع التنفيذ بعد الموافقة؟ اضغط Run مرة أخرى — أول تشغيل أحياناً يتوقف عند الموافقة.

نشر اللوحة (رابطك الخاص)

  1. Deploy → New deployment.
  2. أيقونة الترس ⚙ → Web app.
  3. Execute as: Me · Who has access: Only myself ← هذا ما يبقيها خاصة.
  4. Deploy → انسخ Web app URL (ينتهي بـ /exec) واحفظه كمفضلة.
مهمعند أي تعديل مستقبلي على الكود: لا تنشئ نشراً جديداً — بل Deploy → Manage deployments → ✏️ → Version: New version حتى يبقى رابطك نفسه.

متغيّر البحث — إن كان تصنيفك أو بحثك مختلفاً

في أول سطور Code.gs متغيّر QUERY يحدد أي إيميلات تُقرأ. غيّره ثم احفظ وشغّل setup:

const CONFIG = {
  // الافتراضي — عنوان إيميل الراجحي، يعمل للجميع:
  QUERY: 'subject:"إشعار تنفيذ"',
  // أو حسب تصنيف (Label) أنشأته أنت:
  // QUERY: 'label:"اسم-تصنيفك"',
  // أو تضييق بالمرسل + العنوان:
  // QUERY: 'from:alrajhi-capital.com subject:"إشعار تنفيذ"',
  ...
💡 الصيغة هي نفس صيغة بحث Gmail — جرّب استعلامك في Gmail أولاً: إذا أظهر إيميلات التنفيذ الصحيحة فقط، سيعمل في السكربت.
انتبهتغيير الاستعلام لا يغيّر «المحلّل». السكربت يفهم تنسيق إيميلات الراجحي المالية فقط — لوسيط آخر استخدم الإدخال اليدوي.

التحديث اليومي

يعمل تلقائياً (~٦ صباحاً). للتأكد: أيقونة الساعة ⏰ Triggers في القائمة الجانبية — سترى syncTrades Daily. لتغيير الساعة عدّل TRIGGER_HOUR وشغّل setup.

مشاكل شائعة

المشكلةالحل
Run رماديلم تحفظ — Ctrl+S ثم اختر الدالة.
Duplicate functionلصقت الكود مرتين — احذف المكرر.
Dashboard not foundاسم ملف HTML يجب أن يكون Dashboard بالضبط.
طُلبت الموافقة مجدداًطبيعي بعد صلاحية جديدة — وافق مرة أخرى.
اللوحة تطلب دخولاًافتحها بنفس حساب Google الذي نشرت به.
محفظتي v3 · فصل ١ من ٤