2 مهر 1402
تهران، خیابان آزادی، تقاطع قریب
برنامه نویسی وب

نحوه استفاده از Google Sheets API با پایتون

نحوه استفاده از Google Sheets API با پایتون

16 سال با Google Sheets!

Google Sheets بیش از 16 سال پیش در مارس 2006 منتشر شد و امروزه یکی از برنامه‌های اصلی Google Workspace است. اگرچه Google Sheets همه امکانات موجود در Microsoft Excelرا ارائه نمی‌دهد، اما همچنان یک برنامه صفحه گسترده بسیار قدرتمند است. در نتیجه روند کار در منزل که پس از همه‌گیری کرونا به وجود آمد، Google Workspace از پذیرش بالایی بین مردم برخوردار است و هر روز افراد بیشتری ازGoogle Sheets  استفاده می‌کنند.

مانند هر برنامه صفحه گسترده دیگری، Google Sheets  به کاربران امکان سازماندهی، ویرایش، تجزیه و تحلیل و Visualize داده‌ها را می‌دهد. با توجه به اینکه Google Sheets از ابتدای پیدایش خود یک برنامه مبتنی بر وب بوده است، داشتن قابلیت کار اشتراکی بزرگترین نقطه قوت آن است. این باعث می‌شود که در آن چندین کاربر بتوانند یک صفحه گسترده را به طور همزمان مشاهده و ویرایش کنند. نقاط قوت و ضعف دیگر Google Sheets در مقایسه با Microsoft Excel عبارتند از:

نقاط قوت

  • کاربر پسند بودن
  • ادغام با Google Forms و سایر محصولات  Google Workspace
  • قابلیت کار مشترک، از جمله بازدید مجدد تاریخچه

نقاط ضعف

  • نمی توان با مجموعه داده‌های بسیار بزرگ کار کرد
  • ویژگی‌های محدود گراف/نمودار
  • قابلیت های ماکرو/اسکریپت نویسی محدود

Google Sheets API  یک روش برنامه‌نویسی برای تعامل با صفحه‌گسترده Google Sheets  ارائه می‌کند و از زبان‌های مختلف از جمله Python، Java  و Node.js پشتیبانی می‌کند. یک توسعه‌دهنده نرم افزار می‌تواند داده‌ها را از صفحه‌گسترده Google Sheets  و از طریق API بخواند، در آن بنویسد و همچنین تعاملات پیچیده‌تری مانند ایجاد Worksheet ‌های جدید، فرمت‌بندی داده‌ها و ایجاد نمودارها را کامل کند. تا حد معینی، Google Sheets API  مجموعه‌ای از روش‌ها را در اختیار توسعه‌دهندگان قرار می‌دهد که می‌توان از آنها برای کار با صفحه‌گسترده Google Sheets به روشی تقریبا نامحدود استفاده کرد.

در این آموزش نحوه تنظیم وابستگی های اساسی مورد نیاز برای استفاده از Google Sheets API  با برنامه پایتون را خواهید آموخت. به طور خاص، یک پروژه پلتفرم Google Cloud  جدید ایجاد می‌کنید، API  برگه‌های Google را فعال می‌کنید، اعتبارنامه‌هایی را برای دسترسی ایمن به API ایجاد می‌کنید، کتابخانه‌های Python مورد نیاز را برای تعامل با API از یک برنامه Python نصب می‌کنید و یک برنامه آزمایشی ساده می‌سازید.

پیش نیازها

برای تکمیل این آموزش، شما نیاز به موارد زیر دارید:

  • باید یک حساب گوگل داشته باشید.
  • پایتون 2.6 یا بالاتر باید روی سیستم شما نصب شده باشد.
  • باید pip در آن نصب باشد.

مرحله 1 – یک پروژه جدید Google Cloud Platform ایجاد کنید

پروژه‌های Google Cloud Platform به توسعه‌دهندگان اجازه می‌دهد با APIهای Google Workspace  از جمله Google Sheets API کار کنند. به خاطر داشته باشید که گوگل برای تعداد پروژه‌هایی که یک کاربر می تواند ایجاد کند، مقدار مشخصی تعیین می کند. اگر برای اولین بار از پلتفرم Google Cloud استفاده می‌کنید، واضح است که این مشکلی ندارد. با این حال، اگر در آینده به مقدار بیشتری پروژه نیاز دارید، همیشه می‌توانید از Google درخواست کنید.

برای شروع، Google Cloud Console را باز کنید. برای ورود اطلاعات حساب گوگل خود را وارد کنید.

هنگامی که وارد سیستم شدید، به صفحه داشبورد می‌رسید که در آنجا می‌توانید خلاصه‌ای از پروژه‌های موجود خود را مشاهده کنید. البته، اگر اولین بار است که از Google Cloud Console استفاده می کنید، هیچ پروژه موجودی نخواهید داشت.

روی نماد منوی اصلی (همبرگر) در گوشه سمت چپ بالای صفحه کلیک کنید و IAM & Admin > Create a Project را از منوی کشویی انتخاب کنید.

یک نام برای پروژه جدید وارد کنید. همچنین یک ID پروژه را با فونت کوچک مستقیماً زیر قسمت ورودی نام پروژه خواهید دید. ID پروژه به طور خودکار بر اساس نام پروژه‌ای که انتخاب می‌کنید ایجاد می‌شود. برای تغییر شناسه پروژه می‌توانید بر روی Edit کلیک کنید. با این حال، به خاطر داشته باشید که پس از ایجاد پروژه جدید، شناسه پروژه قابل تغییر نیست.

در صورت تمایل، مکانی را برای پروژه وارد کنید. مکان سازمان یا پوشه‌ای که پروژه به آن تعلق دارد را مشخص می‌کند. به عنوان یک کاربر جدید، مقدار پیش فرض این فیلد ممکن است No organization (بدون سازمان) را نشان دهد و نیازی به تغییر ندارد. اگر هنگام ورود به سیستم از یک حساب Google استفاده می‌کنید که برای مثال توسط کارفرمای شما مدیریت می‌شود، فیلد مکان ممکن است مقدار متفاوتی را نشان دهد.

برای ایجاد پروژه بر روی Create کلیک کنید.

شما دوباره به صفحه داشبورد هدایت خواهید شد. پس از چند دقیقه، باید پروژه جدید ایجاد شده را در زیر پنجره اطلاعات پروژه لیست شده ببینید.

مرحله 2 – Google Sheets API را فعال کنید

اکنون که یک پروژه Google Cloud Platform جدید ایجاد کرده‌اید، باید API Google Sheets را برای پروژه فعال کنید.

از صفحه داشبورد، دوباره روی نماد منوی اصلی در گوشه سمت چپ بالا کلیک کنید و APIs & Services > Library را انتخاب کنید.

از صفحه کتابخانه، به قسمت Google Workspace بروید و روی Google Sheets API کلیک کنید.

پس از ورود به صفحه Google Sheets API، روی Enable کلیک کنید.

Google Sheets API اکنون برای پروژه Google Cloud Platform جدید ایجاد شده در مرحله 1 فعال شده است.

مرحله 3 – یک Service Account  ایجاد کنید

برنامه پایتونی که بخواهد با Google Sheets API تعامل داشته باشد، باید احراز هویت شود و برای دسترسی به منابعی که API پشتیبانی می‌کند مجاز باشد. Google بسته به نیاز توسعه‌دهنده، گزینه‌های مختلفی را برای مکانیسم‌های احراز هویت و مجوز ارائه می‌کند. در این مرحله، پیکربندی یک Service Account جدید برای اهداف احراز هویت و مجوز را انتخاب می کنیم.

مرحله 3 (الف) – یک Service Account جدید ایجاد کنید

از صفحه داشبورد، دوباره روی نماد منوی اصلی در گوشه سمت چپ بالا کلیک کنید و APIs & Services > Credentials را انتخاب کنید.

در صفحه Credentials، بر روی Manage Service Accounts در قسمت Service Accounts کلیک کنید.

به صفحه حساب‌های سرویس هدایت می‌شوید که در آنجا باید روی Create Service Account کلیک کنید.

یک نام جدید برای Service Account وارد کنید. شما می توانید هر نامی را که دوست دارید انتخاب کنید. توجه داشته باشید که با وارد کردن نام Service Account انتخابی خود، ID اکانت سرویس مرتبط به طور خودکار در قسمت Service account ID ایجاد می شود. علاوه بر این، یک آدرس ایمیل مطابق با Service account ID نیز به طور خودکار ایجاد می‌شود. به عنوان مثال، اگر Service account جدیدی را در فیلد نام وارد کرده باشید، ممکن است آدرس ایمیل عجیب و غریبی را ببینید که به .iam.gserviceaccount.com ختم می شود مانند some-new-service-account@young-home-460928.iam. gserviceaccount.com به عنوان ایمیل حساب خدمات. این آدرس ایمیل را کپی کنید زیرا بعداً هنگام اتصال یک برنامه پایتون به صفحه گسترده Google Sheets از طریق Google Sheets API از آن استفاده خواهید کرد.

پس از وارد کردن نام برای حساب کاربری، روی Create And Continue کلیک کنید.

از قسمت Grant this service account access to project روی منوی کشویی Select a role کلیک کنید. به دنبال گزینه Basic در سمت چپ منو بگردید و روی آن نگه دارید. سپس از سمت راست منو بر روی ویرایشگر کلیک کنید. نقش ویرایشگر به یک برنامه پایتون با استفاده از این حساب سرویس اجازه می‌دهد تا صفحه‌گسترده Google Sheets را بخواند و بنویسد که از طریق Google Sheets API با آن در تعامل است.

برای ایجاد حساب کاربری جدید روی Done کلیک کنید.

شما به صفحه Service Accounts هدایت می شوید.

مرحله 3 (ب) – یک Key جدید برای Service Account ایجاد کنید

از صفحه Service Accounts ، روی نماد منوی گزینه‌ها (یعنی نماد با سه نقطه عمودی) در زیر برچسب Actions برای new service account کنید. وقتی منو باز شد، روی Manage Keys کلیک کنید.

در صفحه Keys بر روی Add Key کلیک کرده و سپس Create new key را انتخاب کنید.

وقتی مودال ایجاد کلید خصوصی باز می شود، قالب کلید باید قبلاً روی JSON تنظیم شود. روی Create کلیک کنید. یک private key جدید ایجاد می شود و دانلود فایل JSON با Key جدید باید به طور خودکار شروع شود. به مکان فایل JSON با مقدار کلید خصوصی توجه کنید زیرا بعداً هنگام اتصال به API Google Sheets از یک برنامه پایتون به آن نیاز خواهید داشت.

مرحله 4 – کتابخانه های مورد نیاز گوگل را برای پایتون نصب کنید

یک برنامه پایتون باید کتابخانه‌های Google خاصی را برای پایتون وارد کند تا بتواند با موفقیت احراز هویت شود و با Google Sheets API تعامل داشته باشد.

مرحله 4 (الف)  – Google API Python Client Library  را نصب کنید

Google Client Libraries دسترسی به APIهای Google Cloud را برای زبان‌های مختلف فراهم می‌کند. در این آموزش، Google API Python Client Library را نصب می‌کنیم.

با استفاده از دستور زیر می توانید Google API Python Client Library را نصب کنید:

				
					pip install google-cloud
				
			

مرحله 4 (ب) کتابخانه‌های احراز هویت Google را نصب کنید

کتابخانه‌های Google Authentication برای احراز هویت با APIهای Google Workspace، و در این مورد خاص، Google Sheets API استفاده می‌شوند.

ابتدا با استفاده از دستور زیر، کتابخانه Google Authentication را برای پایتون نصب کنید:

				
					pip install google-auth
				
			

دوم، Google Authentication OAuth Library را برای Python با استفاده از دستور زیر نصب کنید:

				
					pip install google-auth-oauthlib
				
			

کتابخانه های مورد نیاز پایتون اکنون نصب شده اند.

مرحله 5 – پیکربندی یک برنامه آزمایشی در پایتون

با انجام دادن همه موارد در  مراحل 1 تا 4، اکنون می‌توانید تعامل برنامه‌نویسی با صفحات گسترده Google Sheets را از طریق Google Sheets API آغاز کنید. این مراحل یک برنامه آزمایشی ساده برای بازیابی عنوان صفحه گسترده Google Sheets ایجاد می‌کند.

مرحله 5 (الف) – یک صفحه گسترده Google Sheets جدید ایجاد کنید

در Google Sheets، یک صفحه گسترده جدید ایجاد کنید و عنوانی مانندMy New Google Sheets Spreadsheet به آن بدهید.

برای این آزمایش ساده، صفحه گسترده جدید نیازی به داشتن هیچ داده‌ای در آن ندارد.

مرحله 5 (ب) – صفحه گسترده Google Sheets جدید را با حساب خدمات خود به اشتراک بگذارید

روی دکمه سبز رنگ Share در گوشه سمت راست بالای صفحه گسترده Google Sheets کلیک کنید.

وقتی کادر dialog باز شد، آدرس ایمیل حساب Google Cloud Service را از مرحله 3 (الف) در قسمت Add people and groups کپی کنید.

تیک گزینه Notify people را بردارید و روی Send کلیک کنید.

مرحله 5 (ج) – شناسه URL را برای صفحه گسترده Google Sheets جدید Record کنید

صفحه‌گسترده Google Sheets جدید شما دارای یک URL مانند URL زیر است:

https://docs.google.com/spreadsheets/d/8VaaiCuZ2q09IVndzU54s1RtxQreAxgFNaUPf9su5hK0/edit#gid=0

بخشی از رشته URL را که بعد از d/ شروع می شود و قبل از ویرایش / به پایان می رسد، Record کنید.

به عبارت دیگر، با استفاده از این مثال، 8VaaiCuZ2q09IVndzU54s1RtxQreAxgFNaUPf9su5hK0 را یادداشت می کنید.

مرحله 5 (د) – برنامه آزمایشی را در پایتون پیکربندی کنید

  • برای ساده نگه داشتن کارها، فایل json تولید شده در مرحله 3 (ب) را در همان فهرستی که برنامه آزمایشی را در پایتون ایجاد خواهید کرد، قرار دهید.
  • برنامه آزمایشی را به صورت زیر بسازید:
				
					-	spreadsheet_id = ENTER_YOUR_SPREADSHEET_ID FROM_STEP_5c_HERE_WITH_QUOTES
-	# For example:
-	# spreadsheet_id = "8VaaiCuZ2q09IVndzU54s1RtxQreAxgFNaUPf9su5hK0"
-	
-	credentials = service_account.Credentials.from_service_account_file("key.json", scopes=["https://www.googleapis.com/auth/spreadsheets"])
-	service = build("sheets", "v4", credentials=credentials)
-	
-	request = service.spreadsheets().get(spreadsheetId=spreadsheet_id, ranges=[], includeGridData=False)
-	sheet_props = request.execute()
-	
-	print(sheet_props["properties"]["title"])
-	
-	# Output:
-	# My New Google Sheets Spreadsheet
				
			

نتیجه‌گیری

در این آموزش، یک پروژه Google Cloud Platform جدید ایجاد کردید، API Google Sheets را برای آن پروژه فعال کردید، یک حساب سرویس جدید برای احراز هویت با Google Sheets API ایجاد کردید، تمام کتابخانه های مورد نیاز Google را برای Python نصب کردید، و یک برنامه آزمایشی ساده ساختید. همانطور که در مقدمه ذکر شد، در هنگام رابط برنامه‌نویسی با Google Sheets، امکانات تقریباً بی‌پایانی وجود دارد. برای اطلاعات بیشتر به اسناد Google Sheets for Developers مراجعه کنید.

منبع: hackernoon

Leave feedback about this

  • کیفیت
  • قیمت
  • خدمات

PROS

+
Add Field

CONS

+
Add Field
Choose Image
Choose Video
X