Quickstarts نحوه راهاندازی و اجرای برنامهای را توضیح میدهد که Google Workspace API را فراخوانی میکند.
راهاندازیهای سریع Google Workspace از کتابخانههای سرویس گیرنده API برای رسیدگی به برخی از جزئیات جریان احراز هویت و مجوز استفاده میکنند. توصیه می کنیم از کتابخانه های سرویس گیرنده برای برنامه های خود استفاده کنید. این شروع سریع از یک رویکرد احراز هویت ساده استفاده می کند که برای یک محیط آزمایشی مناسب است. برای یک محیط تولید، توصیه میکنیم قبل از انتخاب اعتبارنامههای دسترسی مناسب برای برنامهتان، درباره احراز هویت و مجوز یاد بگیرید.
یک برنامه خط فرمان جاوا ایجاد کنید که به API Postmaster Tools درخواست می دهد.
اهداف
- محیط خود را تنظیم کنید.
- نمونه را تنظیم کنید
- نمونه را اجرا کنید.
پیش نیازها
- جاوا 1.8 یا بالاتر.
- Gradle 7.0 یا بالاتر .
- یک پروژه Google Cloud .
- یک حساب Google با فعال بودن جیمیل.
محیط خود را تنظیم کنید
برای تکمیل این شروع سریع، محیط خود را تنظیم کنید.
API را فعال کنید
قبل از استفاده از Google API، باید آنها را در پروژه Google Cloud روشن کنید. میتوانید یک یا چند API را در یک پروژه Google Cloud روشن کنید.در کنسول Google Cloud، Postmaster Tools API را فعال کنید.
صفحه رضایت OAuth را پیکربندی کنید
اگر از یک پروژه جدید Google Cloud برای تکمیل این شروع سریع استفاده میکنید، صفحه رضایت OAuth را پیکربندی کنید و خود را به عنوان کاربر آزمایشی اضافه کنید. اگر قبلاً این مرحله را برای پروژه Cloud خود انجام داده اید، به بخش بعدی بروید.
- در کنسول Google Cloud، به > APIs & Services > صفحه رضایت OAuth بروید. منو
- برای نوع User Internal را انتخاب کنید، سپس روی Create کلیک کنید.
- فرم ثبت نام برنامه را تکمیل کنید، سپس روی ذخیره و ادامه کلیک کنید.
در حال حاضر، میتوانید از افزودن دامنهها صرفنظر کنید و روی ذخیره و ادامه کلیک کنید. در آینده، وقتی برنامهای را برای استفاده خارج از سازمان Google Workspace خود ایجاد میکنید، باید نوع کاربر را به خارجی تغییر دهید و سپس محدودههای مجوز مورد نیاز برنامه خود را اضافه کنید.
- خلاصه ثبت برنامه خود را مرور کنید. برای ایجاد تغییرات، روی ویرایش کلیک کنید. اگر ثبت برنامه خوب به نظر می رسد، روی بازگشت به داشبورد کلیک کنید.
مجوز اعتبار برای یک برنامه دسکتاپ
برای احراز هویت کاربران نهایی و دسترسی به داده های کاربر در برنامه خود، باید یک یا چند شناسه مشتری OAuth 2.0 ایجاد کنید. شناسه مشتری برای شناسایی یک برنامه واحد در سرورهای OAuth Google استفاده می شود. اگر برنامه شما روی چندین پلتفرم اجرا می شود، باید برای هر پلتفرم یک شناسه مشتری جداگانه ایجاد کنید.- در کنسول Google Cloud، به > APIs & Services > Credentials بروید. منو
- روی ایجاد اعتبارنامه > شناسه مشتری OAuth کلیک کنید.
- روی نوع برنامه > برنامه دسکتاپ کلیک کنید.
- در قسمت نام ، نامی را برای اعتبارنامه تایپ کنید. این نام فقط در کنسول Google Cloud نشان داده می شود.
- روی ایجاد کلیک کنید. صفحه ایجاد شده توسط سرویس گیرنده OAuth ظاهر می شود که شناسه مشتری و راز مشتری جدید شما را نشان می دهد.
- روی OK کلیک کنید. اعتبار جدید ایجاد شده در شناسه های مشتری OAuth 2.0 ظاهر می شود.
- فایل JSON دانلود شده را به عنوان
credentials.json
ذخیره کنید و فایل را به دایرکتوری کاری خود منتقل کنید.
فضای کار را آماده کنید
در فهرست کاری خود، یک ساختار پروژه جدید ایجاد کنید:
gradle init --type basic mkdir -p src/main/java src/main/resources
در دایرکتوری
src/main/resources/
فایلcredentials.json
را که قبلا دانلود کرده اید کپی کنید.فایل پیش فرض
build.gradle
را باز کنید و محتوای آن را با کد زیر جایگزین کنید:apply plugin: 'java' apply plugin: 'application' mainClassName = 'GmailPostmasterToolsQuickstart' sourceCompatibility = 1.8 targetCompatibility = 1.8 version = '1.0' repositories { mavenCentral() } dependencies { implementation 'com.google.api-client:google-api-client:1.23.0' implementation 'com.google.oauth-client:google-oauth-client-jetty:1.23.0' implementation 'com.google.apis:google-api-services-gmailpostmastertools:v1-rev20210528-1.31.0' }
نمونه را تنظیم کنید
در دایرکتوری
src/main/java/
، یک فایل جاوا جدید با نامی ایجاد کنید که با مقدارmainClassName
در فایلbuild.gradle
شما مطابقت داشته باشد.کد زیر را در فایل جاوا جدید خود وارد کنید:
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.jackson2.JacksonFactory; import com.google.api.client.util.store.FileDataStoreFactory; import com.google.api.services.gmailpostmastertools.v1beta1.PostmasterTools; import com.google.api.services.gmailpostmastertools.v1beta1.model.*; import java.io.*; import java.security.GeneralSecurityException; import java.util.Collections; import java.util.List; public class PostmasterToolsApiQuickStart { private static final String APPLICATION_NAME = "PostmasterTools API Java Quickstart"; private static final JsonFactory JSON_FACTORY = JacksonFactory.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 = Collections.singletonList("https://www.googleapis.com/auth/postmaster.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 = PostmasterToolsApiQuickStart.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(8891).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(); PostmasterTools postmasterTools = new PostmasterTools.Builder(HTTP_TRANSPORT, JSON_FACTORY, getCredentials(HTTP_TRANSPORT)) .setApplicationName(APPLICATION_NAME) .build(); List<Domain> domains = postmasterTools.domains().list().execute().getDomains(); if (domains == null || domains.isEmpty()) { System.out.println("No domains found!"); } else { for (Domain domain : domains) { System.out.println(domain.toPrettyString()); } } } }
نمونه را اجرا کنید
نمونه را اجرا کنید:
gradle run
- اولین باری که نمونه را اجرا میکنید، از شما میخواهد دسترسی را مجاز کنید:
- اگر قبلاً وارد حساب Google خود نشده اید، هنگامی که از شما خواسته شد وارد شوید. اگر به چندین حساب وارد شده اید، یک حساب را برای استفاده از مجوز انتخاب کنید.
- روی Accept کلیک کنید.
برنامه جاوا شما اجرا می شود و Postmaster Tools API را فرا می خواند.
اطلاعات مجوز در سیستم فایل ذخیره می شود، بنابراین دفعه بعد که کد نمونه را اجرا می کنید، از شما درخواست مجوز نمی شود.
مراحل بعدی
- عیب یابی مشکلات احراز هویت و مجوز
- اسناد مرجع Postmaster Tools API REST
- Google APIs Client برای اسناد جاوا
- اسناد Javadoc API Postmaster Tools
Quickstarts نحوه راهاندازی و اجرای برنامهای را توضیح میدهد که Google Workspace API را فراخوانی میکند.
راهاندازیهای سریع Google Workspace از کتابخانههای سرویس گیرنده API برای رسیدگی به برخی از جزئیات جریان احراز هویت و مجوز استفاده میکنند. توصیه می کنیم از کتابخانه های سرویس گیرنده برای برنامه های خود استفاده کنید. این شروع سریع از یک رویکرد احراز هویت ساده استفاده می کند که برای یک محیط آزمایشی مناسب است. برای یک محیط تولید، توصیه میکنیم قبل از انتخاب اعتبارنامههای دسترسی مناسب برای برنامهتان، درباره احراز هویت و مجوز یاد بگیرید.
یک برنامه خط فرمان جاوا ایجاد کنید که به API Postmaster Tools درخواست می دهد.
اهداف
- محیط خود را تنظیم کنید.
- نمونه را تنظیم کنید
- نمونه را اجرا کنید.
پیش نیازها
- جاوا 1.8 یا بالاتر.
- Gradle 7.0 یا بالاتر .
- یک پروژه Google Cloud .
- یک حساب Google با فعال بودن جیمیل.
محیط خود را تنظیم کنید
برای تکمیل این شروع سریع، محیط خود را تنظیم کنید.
API را فعال کنید
قبل از استفاده از Google API، باید آنها را در پروژه Google Cloud روشن کنید. میتوانید یک یا چند API را در یک پروژه Google Cloud روشن کنید.در کنسول Google Cloud، Postmaster Tools API را فعال کنید.
صفحه رضایت OAuth را پیکربندی کنید
اگر از یک پروژه جدید Google Cloud برای تکمیل این شروع سریع استفاده میکنید، صفحه رضایت OAuth را پیکربندی کنید و خود را به عنوان کاربر آزمایشی اضافه کنید. اگر قبلاً این مرحله را برای پروژه Cloud خود انجام داده اید، به بخش بعدی بروید.
- در کنسول Google Cloud، به > APIs & Services > صفحه رضایت OAuth بروید. منو
- برای نوع User Internal را انتخاب کنید، سپس روی Create کلیک کنید.
- فرم ثبت نام برنامه را تکمیل کنید، سپس روی ذخیره و ادامه کلیک کنید.
در حال حاضر، میتوانید از افزودن دامنهها صرفنظر کنید و روی ذخیره و ادامه کلیک کنید. در آینده، وقتی برنامهای را برای استفاده خارج از سازمان Google Workspace خود ایجاد میکنید، باید نوع کاربر را به خارجی تغییر دهید و سپس محدودههای مجوز مورد نیاز برنامه خود را اضافه کنید.
- خلاصه ثبت برنامه خود را مرور کنید. برای ایجاد تغییرات، روی ویرایش کلیک کنید. اگر ثبت برنامه خوب به نظر می رسد، روی بازگشت به داشبورد کلیک کنید.
مجوز اعتبار برای یک برنامه دسکتاپ
برای احراز هویت کاربران نهایی و دسترسی به داده های کاربر در برنامه خود، باید یک یا چند شناسه مشتری OAuth 2.0 ایجاد کنید. شناسه مشتری برای شناسایی یک برنامه واحد در سرورهای OAuth Google استفاده می شود. اگر برنامه شما روی چندین پلتفرم اجرا می شود، باید برای هر پلتفرم یک شناسه مشتری جداگانه ایجاد کنید.- در کنسول Google Cloud، به > APIs & Services > Credentials بروید. منو
- روی ایجاد اعتبارنامه > شناسه مشتری OAuth کلیک کنید.
- روی نوع برنامه > برنامه دسکتاپ کلیک کنید.
- در قسمت نام ، نامی را برای اعتبارنامه تایپ کنید. این نام فقط در کنسول Google Cloud نشان داده می شود.
- روی ایجاد کلیک کنید. صفحه ایجاد شده توسط سرویس گیرنده OAuth ظاهر می شود که شناسه مشتری و راز مشتری جدید شما را نشان می دهد.
- روی OK کلیک کنید. اعتبار جدید ایجاد شده در شناسه های مشتری OAuth 2.0 ظاهر می شود.
- فایل JSON دانلود شده را به عنوان
credentials.json
ذخیره کنید و فایل را به دایرکتوری کاری خود منتقل کنید.
فضای کار را آماده کنید
در فهرست کاری خود، یک ساختار پروژه جدید ایجاد کنید:
gradle init --type basic mkdir -p src/main/java src/main/resources
در دایرکتوری
src/main/resources/
فایلcredentials.json
را که قبلا دانلود کرده اید کپی کنید.فایل پیش فرض
build.gradle
را باز کنید و محتوای آن را با کد زیر جایگزین کنید:apply plugin: 'java' apply plugin: 'application' mainClassName = 'GmailPostmasterToolsQuickstart' sourceCompatibility = 1.8 targetCompatibility = 1.8 version = '1.0' repositories { mavenCentral() } dependencies { implementation 'com.google.api-client:google-api-client:1.23.0' implementation 'com.google.oauth-client:google-oauth-client-jetty:1.23.0' implementation 'com.google.apis:google-api-services-gmailpostmastertools:v1-rev20210528-1.31.0' }
نمونه را تنظیم کنید
در دایرکتوری
src/main/java/
، یک فایل جاوا جدید با نامی ایجاد کنید که با مقدارmainClassName
در فایلbuild.gradle
شما مطابقت داشته باشد.کد زیر را در فایل جاوا جدید خود وارد کنید:
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.jackson2.JacksonFactory; import com.google.api.client.util.store.FileDataStoreFactory; import com.google.api.services.gmailpostmastertools.v1beta1.PostmasterTools; import com.google.api.services.gmailpostmastertools.v1beta1.model.*; import java.io.*; import java.security.GeneralSecurityException; import java.util.Collections; import java.util.List; public class PostmasterToolsApiQuickStart { private static final String APPLICATION_NAME = "PostmasterTools API Java Quickstart"; private static final JsonFactory JSON_FACTORY = JacksonFactory.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 = Collections.singletonList("https://www.googleapis.com/auth/postmaster.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 = PostmasterToolsApiQuickStart.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(8891).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(); PostmasterTools postmasterTools = new PostmasterTools.Builder(HTTP_TRANSPORT, JSON_FACTORY, getCredentials(HTTP_TRANSPORT)) .setApplicationName(APPLICATION_NAME) .build(); List<Domain> domains = postmasterTools.domains().list().execute().getDomains(); if (domains == null || domains.isEmpty()) { System.out.println("No domains found!"); } else { for (Domain domain : domains) { System.out.println(domain.toPrettyString()); } } } }
نمونه را اجرا کنید
نمونه را اجرا کنید:
gradle run
- اولین باری که نمونه را اجرا میکنید، از شما میخواهد دسترسی را مجاز کنید:
- اگر قبلاً وارد حساب Google خود نشده اید، هنگامی که از شما خواسته شد وارد شوید. اگر به چندین حساب وارد شده اید، یک حساب را برای استفاده از مجوز انتخاب کنید.
- روی Accept کلیک کنید.
برنامه جاوا شما اجرا می شود و Postmaster Tools API را فرا می خواند.
اطلاعات مجوز در سیستم فایل ذخیره می شود، بنابراین دفعه بعد که کد نمونه را اجرا می کنید، از شما درخواست مجوز نمی شود.
مراحل بعدی
- عیب یابی مشکلات احراز هویت و مجوز
- اسناد مرجع Postmaster Tools API REST
- Google APIs Client برای اسناد جاوا
- اسناد Javadoc API Postmaster Tools