این سند نحوه ادغام Google Picker را در برنامههای دسکتاپ و موبایل شما با استفاده از API Google Picker توضیح میدهد.
API انتخابگر گوگل (Google Picker API) راهی است که به کاربران اجازه میدهد فایلهای گوگل درایو را انتخاب یا آپلود کنند. کاربران میتوانند به برنامه دسکتاپ، موبایل یا وب شما اجازه دسترسی به دادههای درایو خود را بدهند و روشی امن و مجاز برای تعامل با فایلهای خود فراهم کنند.
ویژگیها
ابزار انتخابگر گوگل چندین ویژگی دارد:
- ظاهری مشابه رابط کاربری گوگل درایو .
- چندین نما که پیشنمایشها و تصاویر کوچک فایلهای Drive را نشان میدهند.
- نماهای از پیش فیلتر شده که فقط انواع فایلهای خاص (مانند PDF یا تصاویر) یا پوشههای خاصی را نشان میدهند.
- تغییر مسیر به Google Picker در یک برگه جدید در مرورگر پیشفرض کاربر.
توجه داشته باشید که اگرچه میتوانید با استفاده از Google Picker فایلها را انتخاب و آپلود کنید، اما به کاربران اجازه سازماندهی، انتقال یا کپی فایلها از یک پوشه به پوشه دیگر را نمیدهد. برای مدیریت فایلها، باید از API گوگل درایو یا رابط کاربری درایو استفاده کنید.
پیشنیازها
برنامههایی که از Google Picker استفاده میکنند باید از تمام شرایط خدمات موجود پیروی کنند. از همه مهمتر، شما باید در درخواستهای خود، هویت خود را به درستی ذکر کنید.
شما همچنین باید یک پروژه Google Cloud داشته باشید.
محیط خود را تنظیم کنید
برای شروع استفاده از API انتخابگر گوگل، باید محیط خود را تنظیم کنید.
فعال کردن API
قبل از استفاده از APIهای گوگل، باید آنها را در یک پروژه گوگل کلود فعال کنید. میتوانید یک یا چند API را در یک پروژه گوگل کلود فعال کنید.در کنسول گوگل کلود، Google Picker API را فعال کنید.
تنظیم احراز هویت و مجوز
برای احراز هویت کاربران نهایی و دسترسی به دادههای کاربر در برنامه خود، باید یک یا چند شناسه کلاینت OAuth 2.0 ایجاد کنید. شناسه کلاینت برای شناسایی یک برنامه واحد به سرورهای OAuth گوگل استفاده میشود. اگر برنامه شما روی چندین پلتفرم اجرا میشود، باید برای هر پلتفرم یک شناسه کلاینت جداگانه ایجاد کنید.اعتبارنامهها را برای یک برنامه دسکتاپ تأیید کنید
برای ایجاد شناسه کلاینت OAuth 2.0، مراحل زیر را دنبال کنید:
- در کنسول API گوگل، به Menu > Google Auth platform > Clients بروید.
- روی ایجاد کلاینت کلیک کنید.
- روی نوع برنامه > برنامه دسکتاپ کلیک کنید.
- در فیلد نام ، یک نام برای اعتبارنامه تایپ کنید. این نام فقط در کنسول API گوگل نمایش داده میشود.
- روی ایجاد کلیک کنید.
اعتبارنامهی تازه ایجاد شده در زیر «OAuth 2.0 Client IDs» ظاهر میشود.
برای اینکه برنامهها بتوانند به فایلهایی که قبلاً به آنها مجوز داده شده است، دسترسی پیدا کنند، باید مراحل زیر را دنبال کنید:
شما باید با استفاده از این دستورالعملها، یک توکن OAuth 2.0 با دامنه
drive.file،driveیاdrive.readonlyدریافت کنید: استفاده از OAuth 2.0 برای دسترسی به APIهای گوگل . برای اطلاعات بیشتر در مورد دامنهها، به «انتخاب دامنههای API گوگل درایو» مراجعه کنید.توکن OAuth 2.0 را به Drive API ارسال کنید تا فایلهایی را که کاربر قبلاً به آنها دسترسی داده است، بخواند و تغییر دهد.
اعتبارنامهها را برای برنامه تلفن همراه خود تأیید کنید
برای ایجاد شناسه کلاینت OAuth 2.0، مراحل زیر «مجاز کردن اعتبارنامهها برای یک برنامه تلفن همراه» را دنبال کنید.
اعتبارنامهها را برای برنامه وب خود تأیید کنید
برای ایجاد شناسه کلاینت OAuth 2.0، مراحل زیر «مجاز کردن اعتبارنامهها برای یک برنامه وب» را دنبال کنید.
نمایش انتخابگر گوگل
رابط برنامهنویسی کاربردی (API) انتخابگر گوگل (Google Picker) برای برنامههای دسکتاپ و موبایل، کاربر را در یک تب جدید در مرورگر پیشفرض خود به انتخابگر گوگل هدایت میکند. پس از اعطای دسترسی و انتخاب فایلهای مربوطه توسط کاربر، انتخابگر گوگل از طریق URL فراخوانیشده به برنامه فراخوانیکننده بازمیگردد.
برای باز کردن Google Picker API در یک صفحه کلاینت، از Google Picker API برای برنامههای وب استفاده کنید. برای اطلاعات بیشتر، به «ادغام Google Picker در برنامههای وب» مراجعه کنید.
برای اینکه به کاربران اجازه دهید به فایلهای اضافی دسترسی داشته باشند یا فایلهایی را برای استفاده در جریان برنامه شما انتخاب کنند، این مراحل را دنبال کنید:
برای باز کردن صفحه دسترسی OAuth 2.0 در یک برگه مرورگر جدید، با استفاده از این دستورالعملها، درخواست دسترسی به دامنه
drive.fileرا بدهید: استفاده از OAuth 2.0 برای دسترسی به APIهای گوگل . برای اطلاعات بیشتر در مورد دامنهها، به «انتخاب دامنههای API گوگل درایو» مراجعه کنید.توجه داشته باشید که فقط دامنه
drive.fileبرای این برنامهها مجاز است و نمیتوان آن را با هیچ دامنه دیگری ترکیب کرد.آدرس اینترنتی (URL) مربوط به تب جدید مرورگر، تمام پارامترهای استاندارد رشته پرسوجوی OAuth را میپذیرد.
شما باید پارامترهای
promptوtrigger_onepickURL را به درخواست URL احراز هویت OAuth 2.0 خود اضافه کنید. به صورت اختیاری، میتوانید Google Picker را با چندین پارامتر دیگر نیز سفارشی کنید:پارامتر توضیحات وضعیت prompt=consentدرخواست دسترسی به فایل. مورد نیاز trigger_onepick=trueانتخابگر گوگل را فعال کنید. مورد نیاز allow_multiple=trueاگر درست باشد، به کاربر اجازه میدهد چندین فایل را انتخاب کند. اختیاری mimetypes= MIMETYPESفهرستی از انواع MIME که با کاما از هم جدا شدهاند تا نتایج جستجو را فیلتر کنند. اگر تنظیم نشده باشد، فایلهای مربوط به همه انواع MIME در نما نمایش داده میشوند. اختیاری file_ids= FILE_IDSفهرستی از شناسههای فایل که با کاما از هم جدا شدهاند تا نتایج جستجو را فیلتر کنند. اگر تنظیم نشود، همه فایلها در نما نمایش داده میشوند. اختیاری allow_folder_selection=trueاگر درست باشد، به کاربر اجازه میدهد پوشهها را نیز انتخاب کند. اختیاری نمونه زیر یک درخواست URL مجوز OAuth 2.0 را نشان میدهد:
https://accounts.google.com/o/oauth2/v2/auth? \ client_id=CLIENT_ID \ &scope=https://www.googleapis.com/auth/drive.file \ &redirect_uri=REDIRECT_URI \ &response_type=code \ &access_type=offline \ &prompt=consent \ &trigger_onepick=trueموارد زیر را جایگزین کنید:
CLIENT_ID: شناسه کلاینت برنامه شما.REDIRECT_URI: جایی که سرور احراز هویت پس از احراز هویت موفقیتآمیز، مرورگر کاربر را به آدرس دیگری هدایت میکند. برای مثال،https://www.cymbalgroup.com/oauth2callback.redirect_uriمشخص شده باید یک URL عمومی HTTPS باشد. اگر میخواهید از یک پروتکل سفارشی یا URL محلی برایredirect_uriخود استفاده کنید، باید از یک URL عمومی HTTPS استفاده کنید که سپس به پروتکل سفارشی یا URL محلی هدایت میشود.
زمانی که کاربر اجازه دسترسی داد و فایلهای مربوطه را انتخاب کرد، OAuth صفحه را به
redirect_uriمشخص شده در درخواست با پارامترهای URL زیر هدایت میکند:picked_file_ids: اگر کاربر دسترسی داده و فایلها را انتخاب کرده باشد، لیستی از شناسههای فایلهای انتخاب شده که با کاما از هم جدا شدهاند.code: توکن دسترسی یا کد دسترسی بر اساس پارامترresponse_typeکه در درخواست تنظیم شده است. این پارامتر شامل یک کد مجوز جدید است.scope: دامنه(های) موجود در درخواست.error: اگر کاربر درخواست را در جریان رضایت لغو کرده باشد، خطایی نشان داده میشود.
نمونه زیر یک پاسخ URL احراز هویت OAuth 2.0 را نشان میدهد:
https://REDIRECT_URI?picked_file_ids=PICKED_FILE_IDS&code=CODE&scope=SCOPESبرنامهها باید کد مجوز مرحله ۳ را با یک توکن جدید OAuth 2.0 تعویض کنند. برای اطلاعات بیشتر، به بخش کد مجوز تعویض برای توکنهای بهروزرسانی و دسترسی مراجعه کنید.
سپس برنامهها میتوانند از شناسههای فایل از پارامتر URL در مرحله ۳ و توکن OAuth 2.0 که در مرحله ۴ به دست آمده است، برای فراخوانی Drive API استفاده کنند. برای اطلاعات بیشتر، به نمای کلی Google Drive API مراجعه کنید.
استفاده از Google Picker با برنامههای اندروید
شما همچنین میتوانید از Google Picker در برنامههای تلفن همراه اندروید خود استفاده کنید.
اعتبارنامهها را برای یک برنامه تلفن همراه تأیید کنید
برای استفاده از Google Picker در برنامه اندروید خود، باید کاربران را با استفاده از OAuth 2.0، مشابه برنامههای دسکتاپ ، مجاز کنید. برای جزئیات بیشتر در مورد احراز هویت اندروید، به بخش «مجاز کردن دسترسی به دادههای کاربر گوگل» مراجعه کنید.
برای نمایش Google Picker در طول احراز هویت، یک AuthorizationRequest ایجاد کنید و از پارامتر منبع PICKER_OAUTH_TRIGGER در شیء AuthorizationRequest.ResourceParameter استفاده کنید.
هنگام ساخت AuthorizationRequest :
از دامنهی
drive.fileاستفاده کنید.تابع
setOptOutIncludingGrantedScopesباtrueفراخوانی کنید تا مطمئن شوید توکن برگردانده شده فقط برای دامنهdrive.fileاست و برای هیچ دامنه اعطا شده قبلی نیست.فیلد
AuthorizationRequest.Promptرا رویCONSENTتنظیم کنید تا از کاربر درخواست رضایت کند، حتی اگر قبلاً رضایت داده شده باشد.شما میتوانید به صورت اختیاری از عملگر bitmap "OR" (
|) برای تنظیم فیلدAuthorizationRequest.PromptبهSELECT_ACCOUNTاستفاده کنید تا کاربر بتواند قبل از نمایش اعلان رضایت، یک حساب کاربری را انتخاب کند.
با انتخابگر گوگل تماس بگیرید
مشابه برنامههای دسکتاپ، میتوانید Google Picker را با چندین پارامتر اختیاری سفارشی کنید:
-
PICKER_ALLOW_MULTIPLE: به کاربران اجازه میدهد چندین فایل را انتخاب کنند. -
PICKER_MIMETYPES: لیستی از انواع MIME که با کاما از هم جدا شدهاند را برای فیلتر کردن نتایج جستجو میپذیرد. اگر تنظیم نشده باشد، فایلهای مربوط به همه انواع MIME در نما نمایش داده میشوند. -
PICKER_FILE_IDS: فهرستی از شناسههای فایل که با کاما از هم جدا شدهاند را برای فیلتر کردن نتایج جستجو میپذیرد. اگر تنظیم نشده باشد، همه فایلها در نما نمایش داده میشوند. -
PICKER_ALLOW_FOLDER_SELECTION: به کاربران اجازه میدهد پوشهها را نیز انتخاب کنند.
برای اطلاعات بیشتر در مورد پارامترهای اختیاری در برنامههای دسکتاپ، به نمایش انتخابگر گوگل مراجعه کنید.
زمانی که کاربر دسترسی را اعطا کرده و فایلهای مربوطه را انتخاب میکند، شیء getTokenResponseParams از منبع AuthorizationResult بازگردانده میشود. اگر کاربر دسترسی را اعطا کرده باشد، این شیء حاوی مقدار picked_file_ids است که لیستی از شناسههای فایلهای انتخاب شده است که با کاما از هم جدا شدهاند.