نظرة عامة
مكّن وكلاءك من إنشاء وتحرير وإدارة مستندات Google Docs مع معالجة النصوص والتنسيق. أتمت إنشاء المستندات، وأدرج النصوص واستبدلها، وأدر نطاقات المحتوى، وبسّط سير عمل المستندات باستخدام الأتمتة المدعومة بالذكاء الاصطناعي.المتطلبات الأساسية
قبل استخدام تكامل Google Docs، تأكد من توفر ما يلي:- حساب CrewAI AMP مع اشتراك فعّال
- حساب Google مع إمكانية الوصول إلى Google Docs
- ربط حساب Google الخاص بك عبر صفحة التكاملات
إعداد تكامل Google Docs
1. ربط حساب Google الخاص بك
- انتقل إلى تكاملات CrewAI AMP
- ابحث عن Google Docs في قسم تكاملات المصادقة
- انقر على Connect وأكمل عملية OAuth
- امنح الصلاحيات اللازمة للوصول إلى المستندات
- انسخ رمز المؤسسة من إعدادات التكامل
2. تثبيت الحزمة المطلوبة
3. إعداد متغير البيئة
Agent(apps=[]), يجب تعيين متغير البيئة
CREWAI_PLATFORM_INTEGRATION_TOKEN برمز المؤسسة الخاص بك..env:
الإجراءات المتاحة
google_docs/create_document
google_docs/create_document
title(string, اختياري): عنوان المستند الجديد.
google_docs/get_document
google_docs/get_document
documentId(string, مطلوب): معرّف المستند المراد استرجاعه.includeTabsContent(boolean, اختياري): ما إذا كان يجب تضمين محتوى علامات التبويب. الافتراضي هوfalse.suggestionsViewMode(string, اختياري): وضع عرض الاقتراحات المراد تطبيقه. القيم:DEFAULT_FOR_CURRENT_ACCESS,PREVIEW_SUGGESTIONS_ACCEPTED,PREVIEW_WITHOUT_SUGGESTIONS. الافتراضي:DEFAULT_FOR_CURRENT_ACCESS.
google_docs/batch_update
google_docs/batch_update
documentId(string, مطلوب): معرّف المستند المراد تحديثه.requests(array, مطلوب): قائمة بالتحديثات المراد تطبيقها على المستند.writeControl(object, اختياري): يوفر التحكم في كيفية تنفيذ طلبات الكتابة.
google_docs/insert_text
google_docs/insert_text
documentId(string, مطلوب): معرّف المستند المراد تحديثه.text(string, مطلوب): النص المراد إدراجه.index(integer, اختياري): الفهرس القائم على الصفر حيث يتم إدراج النص. الافتراضي هو1.
google_docs/replace_text
google_docs/replace_text
documentId(string, مطلوب): معرّف المستند المراد تحديثه.containsText(string, مطلوب): النص المراد البحث عنه واستبداله.replaceText(string, مطلوب): النص البديل.matchCase(boolean, اختياري): ما إذا كان البحث يجب أن يراعي حالة الأحرف. الافتراضي هوfalse.
google_docs/delete_content_range
google_docs/delete_content_range
documentId(string, مطلوب): معرّف المستند المراد تحديثه.startIndex(integer, مطلوب): فهرس بداية النطاق المراد حذفه.endIndex(integer, مطلوب): فهرس نهاية النطاق المراد حذفه.
google_docs/insert_page_break
google_docs/insert_page_break
documentId(string, مطلوب): معرّف المستند المراد تحديثه.index(integer, اختياري): الفهرس القائم على الصفر حيث يتم إدراج فاصل الصفحة. الافتراضي هو1.
google_docs/create_named_range
google_docs/create_named_range
documentId(string, مطلوب): معرّف المستند المراد تحديثه.name(string, مطلوب): اسم النطاق المسمّى.startIndex(integer, مطلوب): فهرس بداية النطاق.endIndex(integer, مطلوب): فهرس نهاية النطاق.
google_docs/create_document_with_content
google_docs/create_document_with_content
title(string, مطلوب): عنوان المستند الجديد.content(string, اختياري): المحتوى النصي المراد إدراجه في المستند. استخدم\nلفقرات جديدة.
google_docs/append_text
google_docs/append_text
documentId(string, مطلوب): معرّف المستند.text(string, مطلوب): النص المراد إلحاقه بنهاية المستند. استخدم\nلفقرات جديدة.
google_docs/set_text_bold
google_docs/set_text_bold
documentId(string, مطلوب): معرّف المستند.startIndex(integer, مطلوب): موضع بداية النص المراد تنسيقه.endIndex(integer, مطلوب): موضع نهاية النص المراد تنسيقه (حصري).bold(boolean, مطلوب): عيّنtrueلجعله غامقاً،falseلإزالة الغامق.
google_docs/set_text_italic
google_docs/set_text_italic
documentId(string, مطلوب): معرّف المستند.startIndex(integer, مطلوب): موضع بداية النص المراد تنسيقه.endIndex(integer, مطلوب): موضع نهاية النص المراد تنسيقه (حصري).italic(boolean, مطلوب): عيّنtrueلجعله مائلاً،falseلإزالة المائل.
google_docs/set_text_underline
google_docs/set_text_underline
documentId(string, مطلوب): معرّف المستند.startIndex(integer, مطلوب): موضع بداية النص المراد تنسيقه.endIndex(integer, مطلوب): موضع نهاية النص المراد تنسيقه (حصري).underline(boolean, مطلوب): عيّنtrueللتسطير،falseلإزالة التسطير.
google_docs/set_text_strikethrough
google_docs/set_text_strikethrough
documentId(string, مطلوب): معرّف المستند.startIndex(integer, مطلوب): موضع بداية النص المراد تنسيقه.endIndex(integer, مطلوب): موضع نهاية النص المراد تنسيقه (حصري).strikethrough(boolean, مطلوب): عيّنtrueلإضافة يتوسطه خط،falseللإزالة.
google_docs/set_font_size
google_docs/set_font_size
documentId(string, مطلوب): معرّف المستند.startIndex(integer, مطلوب): موضع بداية النص المراد تنسيقه.endIndex(integer, مطلوب): موضع نهاية النص المراد تنسيقه (حصري).fontSize(number, مطلوب): حجم الخط بالنقاط. الأحجام الشائعة: 10, 11, 12, 14, 16, 18, 24, 36.
google_docs/set_text_color
google_docs/set_text_color
documentId(string, مطلوب): معرّف المستند.startIndex(integer, مطلوب): موضع بداية النص المراد تنسيقه.endIndex(integer, مطلوب): موضع نهاية النص المراد تنسيقه (حصري).red(number, مطلوب): مكوّن الأحمر (0-1). مثال:1للأحمر الكامل.green(number, مطلوب): مكوّن الأخضر (0-1). مثال:0.5لنصف الأخضر.blue(number, مطلوب): مكوّن الأزرق (0-1). مثال:0لعدم وجود أزرق.
google_docs/create_hyperlink
google_docs/create_hyperlink
documentId(string, مطلوب): معرّف المستند.startIndex(integer, مطلوب): موضع بداية النص المراد تحويله إلى رابط.endIndex(integer, مطلوب): موضع نهاية النص المراد تحويله إلى رابط (حصري).url(string, مطلوب): عنوان URL الذي يجب أن يشير إليه الرابط. مثال:"https://example.com".
google_docs/apply_heading_style
google_docs/apply_heading_style
documentId(string, مطلوب): معرّف المستند.startIndex(integer, مطلوب): موضع بداية الفقرة (الفقرات) المراد تنسيقها.endIndex(integer, مطلوب): موضع نهاية الفقرة (الفقرات) المراد تنسيقها.style(string, مطلوب): النمط المراد تطبيقه. القيم:NORMAL_TEXT,TITLE,SUBTITLE,HEADING_1,HEADING_2,HEADING_3,HEADING_4,HEADING_5,HEADING_6.
google_docs/set_paragraph_alignment
google_docs/set_paragraph_alignment
documentId(string, مطلوب): معرّف المستند.startIndex(integer, مطلوب): موضع بداية الفقرة (الفقرات) المراد محاذاتها.endIndex(integer, مطلوب): موضع نهاية الفقرة (الفقرات) المراد محاذاتها.alignment(string, مطلوب): محاذاة النص. القيم:START(يسار),CENTER,END(يمين),JUSTIFIED.
google_docs/set_line_spacing
google_docs/set_line_spacing
documentId(string, مطلوب): معرّف المستند.startIndex(integer, مطلوب): موضع بداية الفقرة (الفقرات).endIndex(integer, مطلوب): موضع نهاية الفقرة (الفقرات).lineSpacing(number, مطلوب): تباعد الأسطر كنسبة مئوية.100= مفرد،115= 1.15x،150= 1.5x،200= مزدوج.
google_docs/create_paragraph_bullets
google_docs/create_paragraph_bullets
documentId(string, مطلوب): معرّف المستند.startIndex(integer, مطلوب): موضع بداية الفقرات المراد تحويلها إلى قائمة.endIndex(integer, مطلوب): موضع نهاية الفقرات المراد تحويلها إلى قائمة.bulletPreset(string, مطلوب): نمط النقاط/الترقيم. القيم:BULLET_DISC_CIRCLE_SQUARE,BULLET_DIAMONDX_ARROW3D_SQUARE,BULLET_CHECKBOX,BULLET_ARROW_DIAMOND_DISC,BULLET_STAR_CIRCLE_SQUARE,NUMBERED_DECIMAL_ALPHA_ROMAN,NUMBERED_DECIMAL_ALPHA_ROMAN_PARENS,NUMBERED_DECIMAL_NESTED,NUMBERED_UPPERALPHA_ALPHA_ROMAN,NUMBERED_UPPERROMAN_UPPERALPHA_DECIMAL.
google_docs/delete_paragraph_bullets
google_docs/delete_paragraph_bullets
documentId(string, مطلوب): معرّف المستند.startIndex(integer, مطلوب): موضع بداية فقرات القائمة.endIndex(integer, مطلوب): موضع نهاية فقرات القائمة.
google_docs/insert_table_with_content
google_docs/insert_table_with_content
documentId(string, مطلوب): معرّف المستند.rows(integer, مطلوب): عدد الصفوف في الجدول.columns(integer, مطلوب): عدد الأعمدة في الجدول.index(integer, اختياري): الموضع لإدراج الجدول. إذا لم يُحدد، يُدرج الجدول في نهاية المستند.content(array, مطلوب): محتوى الجدول كمصفوفة ثنائية الأبعاد. كل مصفوفة داخلية هي صف. مثال:[["Year", "Revenue"], ["2023", "$43B"], ["2024", "$45B"]].
google_docs/insert_table_row
google_docs/insert_table_row
documentId(string, مطلوب): معرّف المستند.tableStartIndex(integer, مطلوب): فهرس بداية الجدول.rowIndex(integer, مطلوب): فهرس الصف (قائم على الصفر) للخلية المرجعية.columnIndex(integer, اختياري): فهرس العمود (قائم على الصفر) للخلية المرجعية. الافتراضي هو0.insertBelow(boolean, اختياري): إذاtrue، يُدرج أسفل الصف المرجعي. إذاfalse، يُدرج فوقه. الافتراضي هوtrue.
google_docs/insert_table_column
google_docs/insert_table_column
documentId(string, مطلوب): معرّف المستند.tableStartIndex(integer, مطلوب): فهرس بداية الجدول.rowIndex(integer, اختياري): فهرس الصف (قائم على الصفر) للخلية المرجعية. الافتراضي هو0.columnIndex(integer, مطلوب): فهرس العمود (قائم على الصفر) للخلية المرجعية.insertRight(boolean, اختياري): إذاtrue، يُدرج إلى اليمين. إذاfalse، يُدرج إلى اليسار. الافتراضي هوtrue.
google_docs/delete_table_row
google_docs/delete_table_row
documentId(string, مطلوب): معرّف المستند.tableStartIndex(integer, مطلوب): فهرس بداية الجدول.rowIndex(integer, مطلوب): فهرس الصف (قائم على الصفر) المراد حذفه.columnIndex(integer, اختياري): فهرس العمود (قائم على الصفر) لأي خلية في الصف. الافتراضي هو0.
google_docs/delete_table_column
google_docs/delete_table_column
documentId(string, مطلوب): معرّف المستند.tableStartIndex(integer, مطلوب): فهرس بداية الجدول.rowIndex(integer, اختياري): فهرس الصف (قائم على الصفر) لأي خلية في العمود. الافتراضي هو0.columnIndex(integer, مطلوب): فهرس العمود (قائم على الصفر) المراد حذفه.
google_docs/merge_table_cells
google_docs/merge_table_cells
documentId(string, مطلوب): معرّف المستند.tableStartIndex(integer, مطلوب): فهرس بداية الجدول.rowIndex(integer, مطلوب): فهرس الصف البادئ (قائم على الصفر) للدمج.columnIndex(integer, مطلوب): فهرس العمود البادئ (قائم على الصفر) للدمج.rowSpan(integer, مطلوب): عدد الصفوف المراد دمجها.columnSpan(integer, مطلوب): عدد الأعمدة المراد دمجها.
google_docs/unmerge_table_cells
google_docs/unmerge_table_cells
documentId(string, مطلوب): معرّف المستند.tableStartIndex(integer, مطلوب): فهرس بداية الجدول.rowIndex(integer, مطلوب): فهرس الصف (قائم على الصفر) للخلية المدمجة.columnIndex(integer, مطلوب): فهرس العمود (قائم على الصفر) للخلية المدمجة.rowSpan(integer, مطلوب): عدد الصفوف التي تمتد عليها الخلية المدمجة.columnSpan(integer, مطلوب): عدد الأعمدة التي تمتد عليها الخلية المدمجة.
google_docs/insert_inline_image
google_docs/insert_inline_image
documentId(string, مطلوب): معرّف المستند.uri(string, مطلوب): عنوان URL العام للصورة. يجب أن يكون متاحاً بدون مصادقة.index(integer, اختياري): الموضع لإدراج الصورة. إذا لم يُحدد، تُدرج الصورة في نهاية المستند. الافتراضي هو1.
google_docs/insert_section_break
google_docs/insert_section_break
documentId(string, مطلوب): معرّف المستند.index(integer, مطلوب): الموضع لإدراج فاصل القسم.sectionType(string, مطلوب): نوع فاصل القسم. القيم:CONTINUOUS(يبقى في نفس الصفحة),NEXT_PAGE(يبدأ صفحة جديدة).
google_docs/create_header
google_docs/create_header
documentId(string, مطلوب): معرّف المستند.type(string, اختياري): نوع الترويسة. القيم:DEFAULT. الافتراضي هوDEFAULT.
google_docs/create_footer
google_docs/create_footer
google_docs/delete_header
google_docs/delete_header
documentId(string, مطلوب): معرّف المستند.headerId(string, مطلوب): معرّف الترويسة المراد حذفها.
google_docs/delete_footer
google_docs/delete_footer
أمثلة الاستخدام
إعداد Agent أساسي لـ Google Docs
تحرير النصوص وإدارة المحتوى
عمليات المستندات المتقدمة
استكشاف الأخطاء وإصلاحها
المشاكل الشائعة
أخطاء المصادقة- تأكد من أن حساب Google الخاص بك لديه الصلاحيات اللازمة للوصول إلى Google Docs.
- تحقق من أن اتصال OAuth يتضمن جميع النطاقات المطلوبة (
https://www.googleapis.com/auth/documents).
- تحقق جيداً من صحة معرّفات المستندات.
- تأكد من وجود المستند وإمكانية الوصول إليه من حسابك.
- يمكن العثور على معرّفات المستندات في عنوان URL لـ Google Docs.
- عند استخدام
insert_textأوdelete_content_range، تأكد من صحة مواضع الفهرس. - تذكر أن Google Docs يستخدم فهرسة قائمة على الصفر.
- يجب أن يحتوي المستند على محتوى في مواضع الفهرس المحددة.
- عند استخدام
batch_update، تأكد من صحة تنسيق مصفوفةrequestsوفقاً لتوثيق Google Docs API. - تتطلب التحديثات المعقدة هياكل JSON محددة لكل نوع طلب.
- لـ
replace_text، تأكد من مطابقة معاملcontainsTextتماماً للنص المراد استبداله. - استخدم معامل
matchCaseللتحكم في حساسية حالة الأحرف.
