شروع سریع جاوا

برنامه خط فرمان جاوا بسازید که به «میانای برنامه‌سازی کاربردی People» درخواست ارسال می‌کند.

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

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

اهداف اصلی

  • محیط را راه‌اندازی کنید.
  • نمونه را راه‌اندازی کنید.
  • نمونه را اجرا کنید.

پیش‌نیازها

راه‌اندازی محیط

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

فعال کردن میانای برنامه‌سازی کاربردی

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

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

  1. در «کنسول Google API»، به «منو» > پلاتفرم Google Auth > نمانام‌سازی بروید.

    رفتن به نمانام‌سازی

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

مجاز کردن اعتبارنامه‌ها برای برنامه رایانه‌ای

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

    رفتن به «مشتریان»

  2. روی ایجاد مشتری کلیک کنید.
  3. روی نوع برنامه > برنامه رایانه‌ای کلیک کنید.
  4. در فیلد نام، نامی برای اطلاعات اعتباری تایپ کنید. این نام فقط در Google Cloud Console نشان داده می‌شود.
  5. اختیاری: اگر برنامه‌تان عامل هوش مصنوعی است که ازطرف کاربران اقدام می‌کند، استفاده از این کارخواه برای عامل مجهز به هوش مصنوعی را انتخاب کنید. اگر برنامه‌تان هم از گردش‌های کاری عامل هوش مصنوعی و هم از ویژگی‌های کاربر استاندارد پشتیبانی می‌کند، برای هرکدام کارخواه OAuth جداگانه‌ای ایجاد کنید. پس‌از ایجاد مشتری نمی‌توانید این تنظیم را تغییر دهید.
  6. روی ایجاد کردن کلیک کنید.

    اعتبارنامه جدید ایجادشده در بخش «شناسه‌های کارخواه OAuth 2.0» نشان داده می‌شود.

  7. فایل JSON بارگیری‌شده را به‌عنوان credentials.json ذخیره کنید و فایل را به دایرکتوری کاری‌تان منتقل کنید.

آماده کردن فضای کاری

  1. در فهرست راهنمای کاری‌تان، ساختار پروژه جدیدی ایجاد کنید:

    gradle init --type basic
    mkdir -p src/main/java src/main/resources 
    
  2. در فهرست راهنمای src/main/resources/، فایل credentials.json را که قبلاً بارگیری کرده‌اید کپی کنید.

  3. فایل پیش‌فرض build.gradle را باز کنید و محتوای آن را با کد زیر جایگزین کنید:

    people/quickstart/build.gradle
    apply plugin: 'java'
    apply plugin: 'application'
    
    mainClassName = 'PeopleQuickstart'
    sourceCompatibility = 11
    targetCompatibility = 11
    
    version = '1.0'
    
    repositories {
        mavenCentral()
    }
    
    dependencies {
        implementation 'com.google.api-client:google-api-client:2.0.0'
        implementation 'com.google.oauth-client:google-oauth-client-jetty:1.34.1'
        implementation 'com.google.apis:google-api-services-people:v1-rev20220531-2.0.0'
    }

راه‌اندازی نمونه

  1. در فهرست راهنمای src/main/java/، فایل Java جدیدی با نامی ایجاد کنید که با مقدار mainClassName در فایل build.gradle مطابقت داشته باشد.

  2. کد زیر را در فایل جدید جاوا قرار دهید:

    people/quickstart/src/main/java/PeopleQuickstart.java
    import com.google.api.client.auth.oauth2.Credential;
    import com.google.api.client.extensions.java6.auth.oauth2.AuthorizationCodeInstalledApp;
    import com.google.api.client.extensions.jetty.auth.oauth2.LocalServerReceiver;
    import com.google.api.client.googleapis.auth.oauth2.GoogleAuthorizationCodeFlow;
    import com.google.api.client.googleapis.auth.oauth2.GoogleClientSecrets;
    import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;
    import com.google.api.client.http.javanet.NetHttpTransport;
    import com.google.api.client.json.JsonFactory;
    import com.google.api.client.json.gson.GsonFactory;
    import com.google.api.client.util.store.FileDataStoreFactory;
    import com.google.api.services.people.v1.PeopleService;
    import com.google.api.services.people.v1.PeopleServiceScopes;
    import com.google.api.services.people.v1.model.ListConnectionsResponse;
    import com.google.api.services.people.v1.model.Name;
    import com.google.api.services.people.v1.model.Person;
    
    import java.io.FileNotFoundException;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.security.GeneralSecurityException;
    import java.util.Arrays;
    import java.util.List;
    
    public class PeopleQuickstart {
      private static final String APPLICATION_NAME = "Google People API Java Quickstart";
      private static final JsonFactory JSON_FACTORY = GsonFactory.getDefaultInstance();
      private static final String TOKENS_DIRECTORY_PATH = "tokens";
    
      /**
       * Global instance of the scopes required by this quickstart.
       * If modifying these scopes, delete your previously saved tokens/ folder.
       */
      private static final List<String> SCOPES = Arrays.asList(PeopleServiceScopes.CONTACTS_READONLY);
      private static final String CREDENTIALS_FILE_PATH = "/credentials.json";
    
      /**
       * Creates an authorized Credential object.
       *
       * @param HTTP_TRANSPORT The network HTTP Transport.
       * @return An authorized Credential object.
       * @throws IOException If the credentials.json file cannot be found.
       */
      private static Credential getCredentials(final NetHttpTransport HTTP_TRANSPORT)
          throws IOException {
        // Load client secrets.
        InputStream in = PeopleQuickstart.class.getResourceAsStream(CREDENTIALS_FILE_PATH);
        if (in == null) {
          throw new FileNotFoundException("Resource not found: " + CREDENTIALS_FILE_PATH);
        }
        GoogleClientSecrets clientSecrets =
            GoogleClientSecrets.load(JSON_FACTORY, new InputStreamReader(in));
    
        // Build flow and trigger user authorization request.
        GoogleAuthorizationCodeFlow flow = new GoogleAuthorizationCodeFlow.Builder(
            HTTP_TRANSPORT, JSON_FACTORY, clientSecrets, SCOPES)
            .setDataStoreFactory(new FileDataStoreFactory(new java.io.File(TOKENS_DIRECTORY_PATH)))
            .setAccessType("offline")
            .build();
        LocalServerReceiver receiver = new LocalServerReceiver.Builder().setPort(8888).build();
        return new AuthorizationCodeInstalledApp(flow, receiver).authorize("user");
      }
    
      public static void main(String... args) throws IOException, GeneralSecurityException {
        // Build a new authorized API client service.
        final NetHttpTransport HTTP_TRANSPORT = GoogleNetHttpTransport.newTrustedTransport();
        PeopleService service =
            new PeopleService.Builder(HTTP_TRANSPORT, JSON_FACTORY, getCredentials(HTTP_TRANSPORT))
                .setApplicationName(APPLICATION_NAME)
                .build();
    
        // Request 10 connections.
        ListConnectionsResponse response = service.people().connections()
            .list("people/me")
            .setPageSize(10)
            .setPersonFields("names,emailAddresses")
            .execute();
    
        // Print display name of connections if available.
        List<Person> connections = response.getConnections();
        if (connections != null && connections.size() > 0) {
          for (Person person : connections) {
            List<Name> names = person.getNames();
            if (names != null && names.size() > 0) {
              System.out.println("Name: " + person.getNames().get(0)
                  .getDisplayName());
            } else {
              System.out.println("No names available for connection.");
            }
          }
        } else {
          System.out.println("No connections found.");
        }
      }
    }

اجرای نمونه

  1. اجرای نمونه:

    gradle run
    
  1. اولین‌باری که نمونه را اجرا می‌کنید، از شما می‌خواهد دسترسی را مجاز کنید:
    1. اگر ازقبل به سیستم «حساب Google» خود وارد نشده‌اید، وقتی از شما خواسته شد به سیستم وارد شوید. اگر به سیستم چند حساب وارد شده‌اید، یک حساب را برای استفاده در صدور مجوز انتخاب کنید.
    2. روی Accept (پذیرش) کلیک کنید.

    برنامه Java شما اجرا می‌شود و People API را فراخوانی می‌کند.

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

مراحل بعدی