شروع سریع Node.js

یک برنامه خط فرمان Node.js ایجاد کنید که درخواست‌هایی را به API گوگل درایو ارسال کند.

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

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

اهداف

  • محیط خود را تنظیم کنید.
  • کتابخانه کلاینت را نصب کنید.
  • نمونه را تنظیم کنید.
  • نمونه را اجرا کنید.

پیش‌نیازها

برای اجرای این کوئیک‌استارت، به پیش‌نیازهای زیر نیاز دارید:

  • یک حساب گوگل که گوگل درایو در آن فعال باشد.

محیط خود را تنظیم کنید

برای تکمیل این شروع سریع، محیط خود را راه‌اندازی کنید.

فعال کردن API

قبل از استفاده از APIهای گوگل، باید آنها را در یک پروژه گوگل کلود فعال کنید. می‌توانید یک یا چند API را در یک پروژه گوگل کلود فعال کنید.
  • در کنسول گوگل کلود، API گوگل درایو را فعال کنید.

    فعال کردن API

اگر از یک پروژه جدید Google Cloud برای تکمیل این راهنمای سریع استفاده می‌کنید، صفحه رضایت OAuth را پیکربندی کنید. اگر قبلاً این مرحله را برای پروژه Cloud خود انجام داده‌اید، به بخش بعدی بروید.

  1. در کنسول گوگل کلود، به Menu > برویدGoogle Auth platform > برندسازی .

    به بخش برندسازی بروید

  2. اگر قبلاً تنظیمات را انجام داده‌اید Google Auth platformمی‌توانید تنظیمات صفحه رضایت OAuth زیر را در Branding ، Audience و Data Access پیکربندی کنید. اگر پیامی با این مضمون مشاهده کردید Google Auth platform هنوز پیکربندی نشده است ، روی شروع کار کلیک کنید:
    1. در قسمت اطلاعات برنامه ، در قسمت نام برنامه ، نامی برای برنامه وارد کنید.
    2. در ایمیل پشتیبانی کاربر ، یک آدرس ایمیل پشتیبانی انتخاب کنید که کاربران در صورت داشتن هرگونه سوال در مورد رضایت خود بتوانند با شما تماس بگیرند.
    3. روی بعدی کلیک کنید.
    4. در قسمت مخاطبان ، داخلی (Internal) را انتخاب کنید.
    5. روی بعدی کلیک کنید.
    6. در قسمت اطلاعات تماس ، یک آدرس ایمیل وارد کنید که از طریق آن بتوانید از هرگونه تغییر در پروژه خود مطلع شوید.
    7. روی بعدی کلیک کنید.
    8. در قسمت Finish ، سیاست داده‌های کاربر سرویس‌های API گوگل را مرور کنید و در صورت موافقت، گزینه «من با سیاست‌های داده‌های کاربر سرویس‌های API گوگل موافقم» را انتخاب کنید.
    9. روی ادامه کلیک کنید.
    10. روی ایجاد کلیک کنید.
  3. فعلاً می‌توانید از اضافه کردن محدوده‌ها صرف نظر کنید. در آینده، وقتی برنامه‌ای برای استفاده در خارج از سازمان Google Workspace خود ایجاد می‌کنید، باید نوع کاربر (User type) را به خارجی (External) تغییر دهید. سپس محدوده‌های مجوز مورد نیاز برنامه خود را اضافه کنید. برای کسب اطلاعات بیشتر، به راهنمای کامل پیکربندی رضایت OAuth مراجعه کنید.

اعتبارنامه‌ها را برای یک برنامه دسکتاپ تأیید کنید

برای احراز هویت کاربران نهایی و دسترسی به داده‌های کاربر در برنامه خود، باید یک یا چند شناسه کلاینت OAuth 2.0 ایجاد کنید. شناسه کلاینت برای شناسایی یک برنامه واحد به سرورهای OAuth گوگل استفاده می‌شود. اگر برنامه شما روی چندین پلتفرم اجرا می‌شود، باید برای هر پلتفرم یک شناسه کلاینت جداگانه ایجاد کنید.
  1. در کنسول گوگل کلود، به Menu > برویدGoogle Auth platform > مشتریان .

    به بخش مشتریان بروید

  2. روی ایجاد کلاینت کلیک کنید.
  3. روی نوع برنامه > برنامه دسکتاپ کلیک کنید.
  4. در فیلد نام ، نامی برای اعتبارنامه تایپ کنید. این نام فقط در کنسول Google Cloud نمایش داده می‌شود.
  5. روی ایجاد کلیک کنید.

    اعتبارنامه‌ی تازه ایجاد شده در زیر «OAuth 2.0 Client IDs» ظاهر می‌شود.

  6. فایل JSON دانلود شده را با نام credentials.json ذخیره کنید و آن را به دایرکتوری کاری خود منتقل کنید.

کتابخانه کلاینت را نصب کنید

  • کتابخانه‌ها را با استفاده از npm نصب کنید:

    npm install googleapis@105 @google-cloud/local-auth@2.1.0 --save
    

نمونه را تنظیم کنید

  1. در دایرکتوری کاری خود، فایلی با نام index.js ایجاد کنید.

  2. در فایل، کد زیر را جایگذاری کنید:

    درایو/شروع سریع/index.js
    import path from 'node:path';
    import process from 'node:process';
    import {authenticate} from '@google-cloud/local-auth';
    import {google} from 'googleapis';
    
    // The scope for reading file metadata.
    const SCOPES = ['https://www.googleapis.com/auth/drive.metadata.readonly'];
    // The path to the credentials file.
    const CREDENTIALS_PATH = path.join(process.cwd(), 'credentials.json');
    
    /**
     * Lists the names and IDs of up to 10 files.
     */
    async function listFiles() {
      // Authenticate with Google and get an authorized client.
      const auth = await authenticate({
        scopes: SCOPES,
        keyfilePath: CREDENTIALS_PATH,
      });
    
      // Create a new Drive API client.
      const drive = google.drive({version: 'v3', auth});
      // Get the list of files.
      const result = await drive.files.list({
        pageSize: 10,
        fields: 'nextPageToken, files(id, name)',
      });
      const files = result.data.files;
      if (!files || files.length === 0) {
        console.log('No files found.');
        return;
      }
    
      console.log('Files:');
      // Print the name and ID of each file.
      files.forEach((file) => {
        console.log(`${file.name} (${file.id})`);
      });
    }
    
    await listFiles();

نمونه را اجرا کنید

  1. در دایرکتوری کاری خود، نمونه را اجرا کنید:

    node .
    
  1. اولین باری که نمونه را اجرا می‌کنید، از شما اجازه دسترسی می‌خواهد:
    1. اگر قبلاً وارد حساب گوگل خود نشده‌اید، در صورت درخواست وارد شوید. اگر با چندین حساب وارد شده‌اید، یک حساب را برای استفاده جهت مجوز انتخاب کنید.
    2. روی پذیرش کلیک کنید.

    برنامه Nodejs شما اجرا می‌شود و API گوگل درایو را فراخوانی می‌کند.

    اطلاعات مجوز در سیستم فایل ذخیره می‌شود، بنابراین دفعه بعد که کد نمونه را اجرا می‌کنید، از شما درخواست مجوز نمی‌شود.

مراحل بعدی