1. Google Workspace API ব্যবহার করা
এই কোডল্যাব আপনাকে Google Workspace (পূর্বে G Suite) HTTP-ভিত্তিক RESTful API ব্যবহার করার সাথে পরিচয় করিয়ে দেয়। সংক্ষিপ্ততা এবং প্রাপ্যতার জন্য উদাহরণটি পাইথনে করা হবে, তবে আপনি আপনার প্রিয় উন্নয়ন ভাষা ব্যবহার করতেও বেছে নিতে পারেন। প্রজেক্ট তৈরি/পরিচালনা করতে, অনুমোদনের শংসাপত্র প্রাপ্ত করা এবং API ক্লায়েন্ট লাইব্রেরিগুলি ইনস্টল করার জন্য কীভাবে বিকাশকারী কনসোল ব্যবহার করতে হয় তার মতো প্রাথমিক বিষয়গুলির সাথে আপনি পরিচিত হবেন৷ আনুষ্ঠানিকতার যত্ন নেওয়ার সাথে, আপনি একটি অ্যাপ লিখবেন যেটির API ব্যবহার করে আপনার Google ড্রাইভে প্রথম 100টি ফাইল এবং ফোল্ডার প্রদর্শন করতে।
আপনি কি শিখবেন
- Google/Cloud Developers Console ব্যবহার করে একটি প্রকল্প তৈরি করুন
- আপনার অ্যাপে OAuth2 অ্যাপ্লিকেশন শংসাপত্রগুলি পান এবং ব্যবহার করুন৷
- Google APIs ক্লায়েন্ট লাইব্রেরি ব্যবহার সম্পর্কে জানুন
- Google এবং Google Workspace API ব্যবহার করে অ্যাপ্লিকেশন লিখুন
- গুগল ড্রাইভ এপিআই দিয়ে ফাইল এবং ফোল্ডার তথ্য পান
আপনি কি প্রয়োজন হবে
- ইন্টারনেট এবং একটি ওয়েব ব্রাউজারে অ্যাক্সেস
- একটি Google অ্যাকাউন্ট (Google Workspace অ্যাকাউন্টের জন্য অ্যাডমিনিস্ট্রেটরের অনুমোদনের প্রয়োজন হতে পারে)
- Linux এবং Mac OS X-এর মতো POSIX-সঙ্গী সিস্টেমগুলির সাথে পরিচিতি৷
- একটি কোড এডিটর বা শেল কমান্ড দিয়ে সোর্স ফাইল তৈরি করার ক্ষমতা।
- পাইথনে মৌলিক দক্ষতা (2 বা 3), কিন্তু আপনি যে কোনো সমর্থিত ভাষা ব্যবহার করতে পারেন
- আপনার Google ড্রাইভে কিছু ফাইল এবং/অথবা ফোল্ডার
2. সমীক্ষা
আপনি কিভাবে এই কোডল্যাব টিউটোরিয়াল ব্যবহার করবেন?
Google Workspace ডেভেলপার টুল এবং API-এর সাথে আপনার অভিজ্ঞতাকে কীভাবে মূল্যায়ন করবে?
3. ওভারভিউ
এই কোডল্যাবে, আপনি শিখবেন কিভাবে:
- পাইথনের জন্য Google APIs ক্লায়েন্ট লাইব্রেরি ডাউনলোড করুন
- Google/Cloud বিকাশকারী কনসোলে একটি নতুন প্রকল্প তৈরি করুন
- আপনার অ্যাপের জন্য প্রয়োজনীয় শংসাপত্রগুলি পান
- Google ড্রাইভ API অ্যাক্সেস করতে সেই শংসাপত্রগুলি ব্যবহার করুন৷
আপনি যদি পাইথন ব্যবহার না করতে পছন্দ করেন, তাহলে আপনাকে আপনার প্রিয় ডেভেলপমেন্ট টুলে কোডল্যাব প্রয়োগ করতে স্বাগত জানাই (সমর্থিত ভাষাগুলির ক্লায়েন্ট লাইব্রেরি এখানে উপলব্ধ) এবং কেবল পাইথন উদাহরণগুলিকে (এক্সিকিউটেবল) সিউডোকোড হিসাবে উল্লেখ করুন।
4. পাইথন পরিবেশ নিশ্চিত করুন
এই কোডল্যাবের জন্য আপনাকে পাইথন ভাষা ব্যবহার করতে হবে (যদিও অনেক ভাষা Google API ক্লায়েন্ট লাইব্রেরি দ্বারা সমর্থিত , তাই নির্দ্বিধায় আপনার পছন্দের ডেভেলপমেন্ট টুলে সমতুল্য কিছু তৈরি করুন এবং পাইথনকে সিউডোকোড হিসেবে ব্যবহার করুন)। বিশেষ করে, এই কোডল্যাবটি পাইথন 2 এবং 3 সমর্থন করে, তবে আমরা যত তাড়াতাড়ি সম্ভব 3.x এ সরানোর পরামর্শ দিই।
ক্লাউড শেল ক্লাউড কনসোল থেকে সরাসরি ব্যবহারকারীদের জন্য উপলব্ধ একটি সুবিধা এবং স্থানীয় উন্নয়ন পরিবেশের প্রয়োজন হয় না, তাই এই টিউটোরিয়ালটি সম্পূর্ণরূপে একটি ওয়েব ব্রাউজার দিয়ে ক্লাউডে করা যেতে পারে। ক্লাউড শেল বিশেষত উপযোগী যদি আপনি GCP পণ্য এবং API-এর সাথে বিকাশ চালিয়ে যাওয়ার পরিকল্পনা করেন। আরও বিশেষভাবে এই কোডল্যাবের জন্য, ক্লাউড শেল ইতিমধ্যেই পাইথনের উভয় সংস্করণই প্রাক-ইনস্টল করেছে।
ক্লাউড শেল-এ আইপিথনও ইনস্টল করা আছে... এটি একটি উচ্চ-স্তরের ইন্টারেক্টিভ পাইথন ইন্টারপ্রেটার যা আমরা সুপারিশ করি, বিশেষ করে যদি আপনি ডেটা সায়েন্স বা মেশিন লার্নিং সম্প্রদায়ের অংশ হন। আপনি যদি হন, IPython হল Jupyter Notebook- এর পাশাপাশি Colab , Jupyter Notebook-এর জন্য Google Research দ্বারা হোস্ট করা ডিফল্ট ইন্টারপ্রেটার৷
IPython প্রথমে একটি Python 3 ইন্টারপ্রেটারকে সমর্থন করে কিন্তু 3.x উপলব্ধ না হলে Python 2-এ ফিরে যায়। আইপিথন ক্লাউড শেল থেকে অ্যাক্সেস করা যেতে পারে তবে স্থানীয় উন্নয়ন পরিবেশেও ইনস্টল করা যেতে পারে। ^D (Ctrl-d) দিয়ে প্রস্থান করুন এবং প্রস্থান করার প্রস্তাব গ্রহণ করুন। ipython
শুরু করার উদাহরণ আউটপুট এই মত দেখাবে:
$ ipython Python 3.7.3 (default, Mar 4 2020, 23:11:43) Type 'copyright', 'credits' or 'license' for more information IPython 7.13.0 -- An enhanced Interactive Python. Type '?' for help. In [1]:
যদি আইপিথন আপনার পছন্দ না হয়, তাহলে একটি আদর্শ পাইথন ইন্টারেক্টিভ ইন্টারপ্রেটার (ক্লাউড শেল বা আপনার স্থানীয় উন্নয়ন পরিবেশ) ব্যবহার সম্পূর্ণরূপে গ্রহণযোগ্য (এছাড়াও ^D দিয়ে প্রস্থান করুন):
$ python Python 2.7.13 (default, Sep 26 2018, 18:42:22) [GCC 6.3.0 20170516] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> $ python3 Python 3.7.3 (default, Mar 10 2020, 02:33:39) [GCC 6.3.0 20170516] on linux Type "help", "copyright", "credits" or "license" for more information. >>>
কোডল্যাবটিও ধরে নেয় যে আপনার কাছে pip
ইনস্টলেশন টুল (পাইথন প্যাকেজ ম্যানেজার এবং নির্ভরতা সমাধানকারী) রয়েছে। এটি 2.7.9+ বা 3.4+ সংস্করণের সাথে বান্ডিল করে আসে। আপনার যদি পুরানো পাইথন সংস্করণ থাকে তবে ইনস্টলেশন নির্দেশাবলীর জন্য এই নির্দেশিকাটি দেখুন। আপনার অনুমতির উপর নির্ভর করে আপনার sudo
বা সুপার ইউজার অ্যাক্সেসের প্রয়োজন হতে পারে, তবে সাধারণত এটি হয় না। নির্দিষ্ট পাইথন সংস্করণের জন্য pip
চালানোর জন্য আপনি স্পষ্টভাবে pip2
বা pip3
ব্যবহার করতে পারেন।
কোডল্যাবের বাকি অংশ ধরে নেয় যে আপনি Python 3 ব্যবহার করছেন— Python 2-এর জন্য নির্দিষ্ট নির্দেশাবলী দেওয়া হবে যদি সেগুলি 3.x থেকে উল্লেখযোগ্যভাবে আলাদা হয়।
* ভার্চুয়াল পরিবেশ তৈরি করুন এবং ব্যবহার করুন
এই বিভাগটি ঐচ্ছিক এবং শুধুমাত্র তাদের জন্য প্রয়োজন যারা এই কোডল্যাবের জন্য একটি ভার্চুয়াল পরিবেশ ব্যবহার করতে হবে (উপরের সতর্কতা সাইডবার অনুসারে)। যদি আপনার কম্পিউটারে শুধুমাত্র পাইথন 3 থাকে, তাহলে আপনি my_env
নামে একটি ভার্চুয়ালেনভ তৈরি করতে এই কমান্ডটি জারি করতে পারেন (যদি ইচ্ছা হয় অন্য নাম বেছে নিতে পারেন):
virtualenv my_env
যাইহোক, যদি আপনার কম্পিউটারে Python 2 এবং 3 উভয়ই থাকে, তাহলে আমরা আপনাকে একটি Python 3 virtualenv ইনস্টল করার পরামর্শ দিই যা আপনি -p flag
সাথে এইভাবে করতে পারেন:
virtualenv -p python3 my_env
আপনার সদ্য তৈরি ভার্চুয়ালেনভকে এভাবে "সক্রিয়" করে লিখুন:
source my_env/bin/activate
আপনার শেল প্রম্পটটি পর্যবেক্ষণ করে নিশ্চিত করুন যে আপনি পরিবেশে আছেন এখন আপনার পরিবেশের নামের আগে, অর্থাৎ,
(my_env) $
এখন আপনি যেকোনো প্রয়োজনীয় প্যাকেজ pip install
পারবেন, এই ইভনমেন্টের মধ্যে কোড এক্সিকিউট করতে পারবেন, ইত্যাদি। আরেকটি সুবিধা হল যে আপনি যদি এটিকে সম্পূর্ণভাবে এলোমেলো করে ফেলেন, এমন পরিস্থিতিতে পড়েন যেখানে আপনার পাইথন ইনস্টলেশন নষ্ট হয়ে যায়, ইত্যাদি, আপনি এটিকে উড়িয়ে দিতে পারেন। আপনার সিস্টেমের বাকি অংশকে প্রভাবিত না করেই সমগ্র পরিবেশ।
5. পাইথনের জন্য Google APIs ক্লায়েন্ট লাইব্রেরি ইনস্টল করুন
এই কোডল্যাবের জন্য Python এর জন্য Google APIs ক্লায়েন্ট লাইব্রেরি ব্যবহার করা প্রয়োজন, তাই হয় এটি একটি সহজ ইনস্টল প্রক্রিয়া, অথবা, আপনাকে কিছু করতে হবে না।
আমরা আগে সুপারিশ করেছি যে আপনি সুবিধার জন্য ক্লাউড শেল ব্যবহার করার কথা বিবেচনা করুন। আপনি ক্লাউডে একটি ওয়েব ব্রাউজার থেকে সম্পূর্ণ টিউটোরিয়ালটি সম্পূর্ণ করতে পারেন। ক্লাউড শেল ব্যবহার করার আরেকটি কারণ হল অনেক জনপ্রিয় ডেভেলপমেন্ট টুল এবং প্রয়োজনীয় লাইব্রেরি ইতিমধ্যেই প্রি-ইনস্টল করা আছে।
*ক্লায়েন্ট লাইব্রেরি ইনস্টল করুন
( ঐচ্ছিক ) আপনি যদি ক্লাউড শেল বা স্থানীয় পরিবেশ ব্যবহার করেন যেখানে আপনি ইতিমধ্যেই ক্লায়েন্ট লাইব্রেরিগুলি ইনস্টল করেছেন তবে এটি এড়ানো যেতে পারে। আপনি যদি স্থানীয়ভাবে বিকাশ করছেন এবং সেগুলি ইনস্টল করেছেন (বা আপনি নিশ্চিত না) তাহলেই আপনাকে এটি করতে হবে। সবচেয়ে সহজ উপায় হল ইনস্টল করার জন্য pip
(বা pip3
) ব্যবহার করা (প্রয়োজনে pip
নিজেই আপডেট করা সহ):
pip install -U pip google-api-python-client oauth2client
ইনস্টলেশন নিশ্চিত করুন
এই কমান্ডটি ক্লায়েন্ট লাইব্রেরির পাশাপাশি এটির উপর নির্ভরশীল যে কোনও প্যাকেজ ইনস্টল করে। আপনি ক্লাউড শেল বা আপনার নিজের পরিবেশ ব্যবহার করছেন কিনা, প্রয়োজনীয় প্যাকেজ আমদানি করে ক্লায়েন্ট লাইব্রেরি ইনস্টল করা আছে কিনা তা যাচাই করুন এবং নিশ্চিত করুন যে কোনো আমদানি ত্রুটি নেই (আউটপুটও নেই):
python3 -c "import googleapiclient, httplib2, oauth2client"
আপনি যদি এর পরিবর্তে Python 2 ব্যবহার করেন (ক্লাউড শেল থেকে), আপনি একটি সতর্কতা পাবেন যে এটির সমর্থন অবমূল্যায়ন করা হয়েছে:
******************************************************************************* Python 2 is deprecated. Upgrade to Python 3 as soon as possible. See https://cloud.google.com/python/docs/python2-sunset To suppress this warning, create an empty ~/.cloudshell/no-python-warning file. The command will automatically proceed in seconds or on any key. *******************************************************************************
একবার আপনি সেই আমদানি "পরীক্ষা" কমান্ডটি সফলভাবে চালাতে পারলে (কোন ত্রুটি/আউটপুট নেই), আপনি Google API-এর সাথে কথা বলা শুরু করতে প্রস্তুত!
সারাংশ
যেহেতু এটি একটি পরিচায়ক কোডল্যাব, তাই অনুমান করা হচ্ছে যে আপনি Google এবং Google Workspace API ব্যবহার করতে নতুন। আপনার যদি ইতিমধ্যেই প্রকল্প তৈরি এবং ব্যবহারকারীর অনুমোদন "OAuth ক্লায়েন্ট আইডি" তৈরি করার অভিজ্ঞতা থাকে। যদি তাই হয়, একটি বিদ্যমান প্রকল্প তৈরি করুন বা পুনঃব্যবহার করুন, একটি বিদ্যমান OAuth ক্লায়েন্ট আইডি তৈরি করুন বা পুনঃব্যবহার করুন এবং পরবর্তী দুটি মডিউল এড়িয়ে যান এবং সরাসরি "আপনার ড্রাইভ ফাইল এবং ফোল্ডার অ্যাপ্লিকেশন প্রদর্শন করা হচ্ছে" এ যান বা "উন্নত ডেভ কনসোল ব্যবহার"-এ যান ", কম নির্দেশিকা সহ সেই পদক্ষেপগুলি পর্যালোচনা করতে৷
6. ক্লাউড কনসোলে প্রকল্প নির্দিষ্ট করুন
Google API ব্যবহার করে একটি অ্যাপ্লিকেশনের জন্য একটি প্রকল্প প্রয়োজন৷ সেগুলি Google ক্লাউড বিকাশকারী কনসোলে বা সহজভাবে, "devconsole"-এ পরিচালিত হয়৷ এই কোডল্যাবে, আমরা শুধুমাত্র গুগল ড্রাইভ এপিআই ব্যবহার করতে যাচ্ছি, তাই আমাদের কাছে একটি ম্যাজিক লিঙ্ক রয়েছে (নিচে ধাপ 1 এ) যা:
- আপনাকে ডেভ কনসোলে নিয়ে যাবে
- একটি নতুন প্রজেক্ট তৈরি করার মাধ্যমে (বা বিদ্যমান একটি বেছে নেওয়া) এবং
- স্বয়ংক্রিয়ভাবে ড্রাইভ API সক্ষম করে৷
এটা করতে দাও!
- console.developers.google.com/start/api?id=drive- এ নেভিগেট করুন এবং আপনার Google অ্যাকাউন্টে লগইন করুন৷
- আপনার যদি এখনও কোনো প্রকল্প না থাকে, তাহলে আপনি Google API-এর পরিষেবার শর্তাবলী মেনে নিতে এই স্ক্রীনটি দেখতে পাবেন:
একবার আপনি শর্তাদি স্বীকার করলে, " আমার প্রকল্প " নামে একটি নতুন প্রকল্প তৈরি হবে এবং ড্রাইভ API স্বয়ংক্রিয়ভাবে সক্ষম হবে৷ 3. পরিবর্তে, আপনি ইতিমধ্যে একটি প্রকল্প তৈরি করেছেন (সম্ভবত আপনার পূর্ববর্তী কোডল্যাব?), আপনি পরিবর্তে এই স্ক্রীনটি পাবেন: আপনি যখন একটি প্রকল্প তৈরি করুন পুলডাউন ক্লিক করুন, একটি বিদ্যমান প্রকল্প চয়ন করুন বা সত্যিই একটি নতুন প্রকল্প তৈরি করুন। একবার আপনি আপনার নির্বাচন (নতুন বা বিদ্যমান প্রকল্প), ড্রাইভ API স্বয়ংক্রিয়ভাবে আপনার জন্য সক্ষম হবে। 4. আপনি জানতে পারবেন এই নিশ্চিতকরণের সাথে ড্রাইভ API সক্ষম করা হয়েছে: 5. পরবর্তী ধাপে যেতে শংসাপত্রে যান ক্লিক করুন।
7. *এপিআই অনুরোধ অনুমোদন করুন (ব্যবহারকারীর অনুমোদন)
আপনি যদি ইতিমধ্যেই ব্যবহারকারীর অ্যাকাউন্ট অনুমোদনের শংসাপত্র তৈরি করে থাকেন এবং প্রক্রিয়াটির সাথে পরিচিত হন তবে এই বিভাগটি এড়ানো যেতে পারে। এটি পরিষেবা অ্যাকাউন্ট অনুমোদনের থেকে আলাদা যার কৌশল আলাদা, তাই অনুগ্রহ করে নীচে চালিয়ে যান।
অনুমোদনের ভূমিকা (প্লাস কিছু প্রমাণীকরণ)
API-কে অনুরোধ করার জন্য, আপনার আবেদনের যথাযথ অনুমোদন থাকা প্রয়োজন। প্রমাণীকরণ , একটি অনুরূপ শব্দ, লগইন শংসাপত্রগুলিকে বর্ণনা করে—আপনি একটি লগইন এবং পাসওয়ার্ড দিয়ে আপনার Google অ্যাকাউন্টে লগ ইন করার সময় নিজেকে প্রমাণীকরণ করেন৷ একবার প্রমাণীকরণ হয়ে গেলে, পরবর্তী ধাপ হল আপনি কিনা—বা বরং, আপনার কোড ,— ডেটা অ্যাক্সেস করার জন্য অনুমোদিত , যেমন ক্লাউড স্টোরেজের ব্লব ফাইল বা Google ড্রাইভে ব্যবহারকারীর ব্যক্তিগত ফাইল৷
Google APIগুলি বিভিন্ন ধরণের অনুমোদন সমর্থন করে, কিন্তু Google Workspace API ব্যবহারকারীদের জন্য সবচেয়ে সাধারণ একটি হল ব্যবহারকারীর অনুমোদন যেহেতু এই কোডল্যাবের উদাহরণ অ্যাপ্লিকেশনটি শেষ-ব্যবহারকারীদের সম্পর্কিত ডেটা অ্যাক্সেস করে। সেই শেষ-ব্যবহারকারীদের অবশ্যই তাদের ডেটা অ্যাক্সেস করার জন্য আপনার অ্যাপের অনুমতি দিতে হবে। এর মানে আপনার কোডটি অবশ্যই ব্যবহারকারীর অ্যাকাউন্ট OAuth2 শংসাপত্রগুলি পেতে হবে৷
ব্যবহারকারীর অনুমোদনের জন্য OAuth2 শংসাপত্রগুলি পেতে, API পরিচালকে ফিরে যান এবং বাম-নেভিতে "শংসাপত্র" ট্যাবটি নির্বাচন করুন:
আপনি যখন সেখানে পৌঁছাবেন, আপনি তিনটি পৃথক বিভাগে আপনার সমস্ত শংসাপত্র দেখতে পাবেন:
প্রথমটি API কীগুলির জন্য, দ্বিতীয়টি OAuth 2.0 ক্লায়েন্ট আইডি, এবং শেষটি OAuth2 পরিষেবা অ্যাকটিসের জন্য — আমরা মাঝখানে একটি ব্যবহার করছি৷
শংসাপত্র তৈরি করা হচ্ছে
শংসাপত্র পৃষ্ঠা থেকে, শীর্ষে + শংসাপত্র তৈরি করুন বোতামে ক্লিক করুন, যা আপনাকে একটি ডায়ালগ দেয় যেখানে আপনি "OAuth ক্লায়েন্ট আইডি:" চয়ন করবেন।
পরবর্তী স্ক্রিনে, আপনার 2টি অ্যাকশন আছে: আপনার অ্যাপের অনুমোদন "সম্মতি স্ক্রিন" কনফিগার করা এবং অ্যাপ্লিকেশনের ধরন বেছে নেওয়া:
আপনি যদি একটি সম্মতি স্ক্রীন সেট না করে থাকেন, তাহলে আপনি কনসোলে সতর্কতা দেখতে পাবেন এবং এখনই তা করতে হবে। (যদি আপনার সম্মতি স্ক্রীন ইতিমধ্যেই সেটআপ করা হয়ে থাকে তবে এই পরবর্তী পদক্ষেপগুলি এড়িয়ে যান।)
OAuth সম্মতি স্ক্রীন
"সম্মতি স্ক্রীন কনফিগার করুন"-এ ক্লিক করুন যেখানে আপনি একটি "বহিরাগত" অ্যাপ নির্বাচন করেন (অথবা আপনি যদি একজন Google Workspace [পূর্বে "Google Workspace"] গ্রাহক হন তবে "অভ্যন্তরীণ"):
মনে রাখবেন যে এই অনুশীলনের উদ্দেশ্যে, আপনি কোনটি বেছে নিয়েছেন তা বিবেচ্য নয় কারণ আপনি আপনার কোডল্যাব নমুনা প্রকাশ করছেন না। বেশির ভাগ লোক একটি আরও জটিল স্ক্রিনে নেওয়ার জন্য "বহিরাগত" নির্বাচন করবে, কিন্তু আপনাকে সত্যিই উপরের "অ্যাপ্লিকেশন নাম" ক্ষেত্রটি সম্পূর্ণ করতে হবে:
এই মুহুর্তে আপনার কেবলমাত্র একটি অ্যাপ্লিকেশনের নাম প্রয়োজন তাই এমন কাউকে বেছে নিন যা আপনি যে কোডল্যাবটি করছেন তা প্রতিফলিত করে তারপর সংরক্ষণ করুন ক্লিক করুন।
OAuth ক্লায়েন্ট আইডি তৈরি করা হচ্ছে (ব্যবহারকারীর অ্যাক্ট প্রমাণ)
এখন একটি OAuth2 ক্লায়েন্ট আইডি তৈরি করতে শংসাপত্র ট্যাবে ফিরে যান। এখানে আপনি বিভিন্ন ধরনের OAuth ক্লায়েন্ট আইডি দেখতে পাবেন যা আপনি তৈরি করতে পারেন:
আমরা একটি কমান্ড-লাইন টুল ডেভেলপ করছি, যেটি হল Other , তাই সেটি বেছে নিন তারপর Create বাটনে ক্লিক করুন। আপনি যে অ্যাপটি তৈরি করছেন তা প্রতিফলিত করে এমন একটি ক্লায়েন্ট আইডি নাম চয়ন করুন বা কেবল ডিফল্ট নাম নিন, যা সাধারণত, "অন্যান্য ক্লায়েন্ট N "।
আপনার শংসাপত্র সংরক্ষণ করা হচ্ছে
- নতুন শংসাপত্রের সাথে একটি ডায়ালগ প্রদর্শিত হবে; বন্ধ করতে ঠিক আছে ক্লিক করুন
- শংসাপত্র পৃষ্ঠায় ফিরে, "OAuth2 ক্লায়েন্ট আইডি" বিভাগে স্ক্রোল করুন এবং ডাউনলোড আইকনে ক্লিক করুন আপনার নতুন তৈরি ক্লায়েন্ট আইডির একেবারে ডানদিকে নীচে।
- এটি
client_secret-
LONG-HASH-STRING
.apps.googleusercontent.com.json
নামে একটি ফাইল সংরক্ষণ করতে একটি ডায়ালগ খুলবে, সম্ভবত আপনার ডাউনলোড ফোল্ডারে৷ আমরাclient_secret.json
(যা নমুনা অ্যাপ ব্যবহার করে) এর মতো একটি সহজ নাম সংক্ষিপ্ত করার পরামর্শ দিই, তারপর এটিকে ডিরেক্টরি/ফোল্ডারে সংরক্ষণ করুন যেখানে আপনি এই কোডল্যাবে নমুনা অ্যাপ তৈরি করবেন।
সারাংশ
হাতে শংসাপত্র সহ আপনি এখন আপনার অ্যাপ থেকে ড্রাইভ এপিআই অ্যাক্সেস করতে প্রস্তুত, OAuth ক্লায়েন্ট আইডির উদ্দেশ্য মনে রেখে আপনার ব্যবহারকারীদের অবশ্যই Google ড্রাইভে তাদের ডেটা অ্যাক্সেস করার জন্য আপনার অ্যাপকে অনুমতি দিতে হবে।
দ্রষ্টব্য : প্রকল্পগুলি তৈরি করা, API সক্রিয় করা এবং প্রমাণপত্রাদি প্রাপ্ত করার বিষয়ে আরও বিশদ বিবরণ, ম্যানুয়ালি, অর্থাৎ, উপরের "উইজার্ড" ব্যবহার না করে, আরও অধ্যয়নের জন্য এই কোডল্যাবটির সমাপ্তির পরে উপলব্ধ।
8. আপনার ড্রাইভ ফাইল এবং ফোল্ডার অ্যাপ্লিকেশন প্রদর্শন করা
আপনার স্থানীয় ডেভেলপমেন্ট এনভায়রনমেন্টে হোক বা ক্লাউড শেলে, একই ডিরেক্টরিতে যেখানে আপনার client_id.json
শংসাপত্র ফাইলটি অবস্থিত, drive_list.py
নামে একটি নতুন পাইথন ফাইল তৈরি করুন এবং নীচের কোডের লাইন যোগ করুন:
from __future__ import print_function
from googleapiclient import discovery
from httplib2 import Http
from oauth2client import file, client, tools
SCOPES = 'https://www.googleapis.com/auth/drive.readonly.metadata'
store = file.Storage('storage.json')
creds = store.get()
if not creds or creds.invalid:
flow = client.flow_from_clientsecrets('client_id.json', SCOPES)
creds = tools.run_flow(flow, store)
DRIVE = discovery.build('drive', 'v3', http=creds.authorize(Http()))
files = DRIVE.files().list().execute().get('files', [])
for f in files:
print(f['name'], f['mimeType'])
আবেদন কাঠামো
এই অ্যাপ্লিকেশনটির তিনটি প্রধান বিভাগ রয়েছে:
- লাইব্রেরি কার্যকারিতা আনতে পাইথন আমদানি করে
- আবেদনের শংসাপত্র প্রাপ্তি
- ব্যবহারকারীর Google ড্রাইভ এবং প্রদর্শনে ফাইল এবং ফোল্ডারের নাম এবং MIME প্রকারগুলি আনুন৷
দ্রষ্টব্য : কোডের মধ্যে আরও গভীরে প্রবেশ করুন এবং আরও অধ্যয়নের জন্য এই কোডল্যাবটির সমাপ্তির পরে একটি লাইন-বাই-লাইন ব্যাখ্যা পর্যালোচনা করুন।
অ্যাপ্লিকেশন চলমান
এই ফাইলটিকে drive_list.py
এর মত কিছু নাম দিন। আপনি যখন প্রথমবার স্ক্রিপ্টটি চালান, তখন এটির ড্রাইভে (আপনার) ব্যবহারকারীর ফাইল অ্যাক্সেস করার অনুমোদন থাকবে না। এক্সিকিউশন পজ করে আউটপুটটি এরকম দেখাচ্ছে:
$ python3 ./drive_list.py /usr/local/lib/python3.6/site-packages/oauth2client/_helpers.py:255: UserWarning: Cannot access storage.json: No such file or directory warnings.warn(_MISSING_FILE_MESSAGE.format(filename)) Your browser has been opened to visit: https://accounts.google.com/o/oauth2/auth?client_id=LONG-STRING.apps.googleusercontent.com&redirect_uri=http%3A%2F%2Flocalhost%3A8080%2F&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive.readonly.metadata&access_type=offline&response_type=code If your browser is on a different machine then exit and re-run this application with the command-line parameter --noauth_local_webserver
স্থানীয় উন্নয়ন পরিবেশ থেকে
একটি ব্রাউজার উইন্ডো খোলার সাথে সাথে কমান্ড-লাইন স্ক্রিপ্টটি থামানো হয় এবং আপনাকে OAuth2 অনুমতি ডায়ালগ উপস্থাপন করে:
কোডটি যে অনুমতির জন্য অনুরোধ করছে সেটির জন্য অ্যাপ্লিকেশন ব্যবহারকারীকে জিজ্ঞাসা করে ( SCOPES
ভেরিয়েবলের মাধ্যমে)। এই ক্ষেত্রে, এটি ব্যবহারকারীর Google ড্রাইভ থেকে ফাইল মেটাডেটা দেখার ক্ষমতা। হ্যাঁ, আপনার কোডে, এই অনুমতির সুযোগগুলি URI হিসাবে উপস্থিত হয়, কিন্তু সেগুলি OAuth2 ফ্লো ডায়ালগ উইন্ডোতে আপনার লোকেল দ্বারা নির্দিষ্ট করা ভাষায় অনুবাদ করা হয়েছে৷ ব্যবহারকারীকে অবশ্যই অনুরোধকৃত অনুমতি(গুলি) এর জন্য সুস্পষ্ট অনুমোদন দিতে হবে, অন্যথায় কোডের "রান ফ্লো" অংশটি একটি ব্যতিক্রম নিক্ষেপ করবে এবং স্ক্রিপ্টটি আর এগিয়ে যাবে না।
দ্রষ্টব্য : কিছু ব্যবহারকারীর একাধিক ব্রাউজার রয়েছে এবং অনুমোদনের অনুরোধ একটি অ-পছন্দের ব্রাউজারে পপ আপ হতে পারে। যদি এমন হয়, তবে আপনি যে ব্রাউজার উইন্ডোটি ব্যবহার করতে চান না সেটি থেকে সম্পূর্ণ URLটি অনুলিপি করুন এবং আপনি যে ব্রাউজারটি ব্যবহার করতে চান তার ঠিকানা বারে পেস্ট করুন৷
ক্লাউড শেল থেকে
আপনি যদি মনোযোগ না দেন এবং ক্লাউড শেল-এ প্রোগ্রামটি চালান, তাহলে কোনো ব্রাউজার উইন্ডো খোলা হবে না, আপনাকে আটকে রাখবে। নীচের ডায়াগনস্টিক বার্তাটি আপনার জন্য বোঝানো হয়েছে তা উপলব্ধি করুন... এটি:
If your browser is on a different machine then exit and re-run this application with the command-line parameter --noauth_local_webserver
আপনি যখন এটি এইভাবে চালান, আপনি পরিবর্তে নিম্নলিখিত আউটপুট পাবেন:
$ python3 drive_list.py --noauth_local_webserver /usr/local/lib/python3.7/site-packages/oauth2client/_helpers.py:255: UserWarning: Cannot access storage.json: No such file or directory warnings.warn(_MISSING_FILE_MESSAGE.format(filename)) Go to the following link in your browser: https://accounts.google.com/o/oauth2/auth?client_id=xxx.apps.googleusercontent.com&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive.readonly.metadata&access_type=offline&response_type=code Enter verification code:
নির্দেশাবলী অনুসরণ করে এবং সেই URL সহ একটি ভিন্ন ব্রাউজার ট্যাবে গেলে, আপনি স্থানীয় উন্নয়ন পরিবেশের জন্য উপরে বর্ণিত অভিজ্ঞতার প্রায় অনুরূপ একটি অভিজ্ঞতা পাবেন৷ মূল পার্থক্য হল শেষে যেখানে আপনি ক্লাউড শেলে প্রবেশ করার জন্য যাচাইকরণ কোড সহ আরও একটি স্ক্রীন পাবেন:
এই কোডটি কেটে টার্মিনাল উইন্ডোতে পেস্ট করুন।
সারাংশ
ব্যবহারকারী ক্লিক করার অনুমতি দিলে এবং/অথবা যাচাইকরণ কোডটি প্রম্পটে আটকানো হলে, অ্যাপটি চলবে (চালিয়ে যাবে) তাই ড্রাইভ ফাইল/ফোল্ডার এবং তাদের MIME টাইপ সমন্বিত আউটপুট দেখার আশা করুন। এখানে আমাদের পরীক্ষার অ্যাকাউন্টগুলির একটি থেকে একটি উদাহরণ দেওয়া হল:
$ python3 ./drive_list.py Travel expenses application/vnd.google-apps.spreadsheet Gmail Add-ons codelab application/vnd.google-apps.script Google Workspace Developer Intro application/vnd.google-apps.presentation Baseball Sheets application/vnd.google-apps.folder My Resume application/vnd.google-apps.document . . .
ক্রমাগত এক্সিকিউশনগুলিতে লক্ষ্য করুন যে আপনাকে আর অনুমোদনের জন্য অনুরোধ করা হচ্ছে না (যেমন এটি প্রমাণীকরণ লাইব্রেরি দ্বারা ক্যাশে করা হয়েছে), এবং আপনি সরাসরি আউটপুটে যান। প্রথমবারের মতো একটি টার্মিনালে আপনার নথি দেখতে পাওয়া কি উত্তেজনাপূর্ণ নয়? আমরা তাই মনে করি!
9. উপসংহার
এখন আপনি ড্রাইভ এপিআই সম্পর্কে আরও বৈশিষ্ট্য জানতে বা অন্যান্য Google Workspace (Gmail, Google Docs, Sheets, Slides, Calendar) এবং অন্যান্য Google API (Maps, Analytics, YouTube, ইত্যাদি) অন্বেষণ করতে প্রস্তুত। শেষ পর্যন্ত এটি করার জন্য অভিনন্দন!
এই কোডল্যাবে বৈশিষ্ট্যযুক্ত কোডটি তার GitHub রেপোতে github.com/googlecodelabs/gsuite-apis-intro- এ উপলব্ধ। (আমরা এই কোডল্যাবটিকে রেপোর সাথে ইন-সিঙ্ক রাখতে চাই।) এগিয়ে যেতে প্রস্তুত? নীচে বিভিন্ন সংস্থান রয়েছে যা আপনি এই কোডল্যাবে আচ্ছাদিত উপাদানগুলিকে আরও খনন করতে সহায়তা করতে অ্যাক্সেস করতে পারেন, অথবা আপনি যদি আপনার মন প্রসারিত করতে চান এবং প্রোগ্রামগতভাবে Google প্রযুক্তিগুলি অ্যাক্সেস করার অন্যান্য উপায়গুলি অন্বেষণ করতে চান৷
যেমন আগে ইঙ্গিত করা হয়েছে, আপনি যদি একজন নিয়মিত পাইথন ডেভেলপার না হন, আমরা আপনাকে আপনার পছন্দের ডেভেলপমেন্ট ল্যাঙ্গুয়েজে কোডল্যাবের উদাহরণটি পুনরায় করার জন্য আমন্ত্রণ জানাচ্ছি। সমর্থিত ভাষার জন্য ক্লায়েন্ট লাইব্রেরি এখানে উপলব্ধ।
অতিরিক্ত অধ্যয়ন
এখন যেহেতু আপনার বেল্টের নীচে ড্রাইভ এপিআই-এর সাথে আপনার কিছু অভিজ্ঞতা রয়েছে, আপনার দক্ষতা আরও বিকাশের জন্য নীচে কিছু প্রস্তাবিত অনুশীলন রয়েছে:
- ZIP ফাইল : একটি অ্যাপ্লিকেশন লিখুন যা ড্রাইভে একাধিক জিপ সংরক্ষণাগার ব্যাক আপ করে, ফ্লাইতে সেগুলিকে কম্প্রেস করে যাতে প্রতিটি জিপ ফাইলের নাম সেই ফোল্ডারের নাম হয় যে ফাইলগুলিতে যায়৷ অতিরিক্ত ক্রেডিট: অন্যান্য জিপ ফাইলের মধ্যে রিকার্সিভ জিপ সংরক্ষণাগারগুলিকে সমর্থন করে যাতে ড্রাইভ ফোল্ডারগুলি অন্যান্য ফোল্ডারের ভিতরে এমবেড করা থাকে৷ আপনি হাল ছেড়ে দিলে, এই Node.js নমুনা অ্যাপটি দেখুন।
- ফটো অ্যালবাম : একটি ফটো অ্যালবাম জেনারেশন টুলের সূচনা লিখুন যা Google ড্রাইভে একাধিক ছবি আপলোড করে, টাইমস্ট্যাম্প এবং ভূ-অবস্থান দ্বারা আলাদা ফোল্ডারে সংগঠিত করে। অতিরিক্ত ক্রেডিট: একটি ওপেন সোর্স ইমেজ ম্যানিপুলেশন লাইব্রেরি খুঁজুন এবং আপনি যে ইভেন্টগুলি অনুভব করেছেন (একটি ট্রিপ, একটি ডিনার, ইত্যাদি) প্রতিনিধিত্ব করতে প্রতিটি ফোল্ডারে সমস্ত ফটো সেলাই করুন৷
- GCP এক্সপ্লোর করুন : এমন একটি অ্যাপ লিখুন যা Google Workspace এবং Google Cloud Platform (GCP) কে একসাথে সংযুক্ত করে। একটি টুল লিখুন যা Google ড্রাইভ থেকে Google ক্লাউড স্টোরেজ (GCS), আরেকটি "ক্লাউডের মধ্যে ফাইল স্টোরেজ" সমাধানে ব্যাকআপ ইমেজ ফাইলগুলিকে ব্যাকআপ করে৷ বিশ্বাস করুন বা না করুন, উন্নত ক্লায়েন্ট লাইব্রেরির কারণে GCS ব্যবহার ড্রাইভের চেয়ে সহজ হবে।
- বিশ্লেষণ এবং রেকর্ড করুন : Google ক্লাউড ভিশন API-এ পাস করে ব্যাক আপ নেওয়া প্রতিটি ছবি বিশ্লেষণ করে এবং API সেই ছবিতে যা দেখে তার শীর্ষ (3, 5, 10) "লেবেল" পেয়ে আপনার সমাধান #3 তে প্রসারিত করুন৷ প্রতিটি ছবির জন্য, ক্লাউড ভিশন থেকে বিশ্লেষণের পাশাপাশি GCS-এ এর ব্যাক আপ করা অবস্থান সমেত Google শিটে একটি সারি লিখুন। আপনি হাল ছেড়ে দিলে, এই পাইথন কোডল্যাবটি দেখুন।
10. অতিরিক্ত সম্পদ
ডকুমেন্টেশন
- Google Drive API ডকুমেন্টেশন (REST API এবং Android নেটিভ SDK/API)
- অন্যান্য Google Workspace API-এর ডকুমেন্টেশন
- অন্যান্য Google API ডকুমেন্টেশন
- Google APIs ক্লায়েন্ট লাইব্রেরি
- OAuth2 ডকুমেন্টেশন
সম্পর্কিত এবং সাধারণ ভিডিও
- নতুন Google API প্রকল্প তৈরি করা ( ব্লগ পোস্ট এবং ভিডিও )
- পাইথন অনুমোদন বয়লারপ্লেট কোড পর্যালোচনা ( ভিডিও )
- Google ড্রাইভে আপনার ফাইলগুলি তালিকাভুক্ত করা ( ভিডিও , ব্লগ পোস্ট )
- গুগল ড্রাইভ এপিআই ভিডিও লাইব্রেরি
- লঞ্চপ্যাড অনলাইন ভিডিও সিরিজ (পূর্বসূরী...)
- Google Workspace ডেভ ভিডিও সিরিজ দেখান
খবর এবং আপডেট
- Google Workspace ডেভেলপারদের ব্লগ
- Google Workspace ডেভেলপার টুইটার (@GSuiteDevs)
- Google Workspace ডেভেলপারদের মাসিক নিউজলেটার
অন্যান্য কোডল্যাব
পরিচিতিমূলক
- [অ্যাপ স্ক্রিপ্ট] Google Apps স্ক্রিপ্ট ভূমিকা
মধ্যবর্তী
- [অ্যাপস স্ক্রিপ্ট] CLASP অ্যাপস স্ক্রিপ্ট কমান্ড-লাইন টুল
- [অ্যাপস স্ক্রিপ্ট] জিমেইল অ্যাড-অন
- [অ্যাপ স্ক্রিপ্ট] ডক্স অ্যাড-অন এবং GCP প্রাকৃতিক ভাষা API
- [Apps Script] Hangouts Chat বট ফ্রেমওয়ার্ক
- [REST APIs] কাস্টম রিপোর্টিং টুল (শীট API)
- [REST APIs] Github লাইসেন্সের জন্য কাস্টম স্লাইড জেনারেটর BigQuery বিশ্লেষক (Slides+BigQuery APIs)
উন্নত
- [REST APIs] ক্লাউড ইমেজ প্রসেসিং ওয়ার্কফ্লো (ড্রাইভ, ক্লাউড স্টোরেজ, ক্লাউড ভিশন, শীট এপিআই)
রেফারেন্স অ্যাপস
- মার্কডাউন-টু-গুগল স্লাইড কনভার্টার (স্লাইড REST API)
11. *অ্যাপ্লিকেশনের বিস্তারিত ব্যাখ্যা
এই ঐচ্ছিক বিভাগটি স্ব-অধ্যয়ন হিসাবে ব্যবহার করা হবে অধিবেশন শেষ হওয়ার পরে বা আরও গবেষণার জন্য যে কোনও ফাঁক পূরণ করতে।
লাইব্রেরি কার্যকারিতা আনতে পাইথন আমদানি করে
from __future__ import print_function
from googleapiclient import discovery
from httplib2 import Http
from oauth2client import file, client, tools
- প্রথম
import
বিবৃতিটি এই কোডটিকে Python 2-এ চালানোর জন্য সক্ষম করে- যদি আপনি শুধুমাত্র Python 3 ব্যবহার করেন তবে এটি সম্পূর্ণরূপে বাদ দেওয়া যেতে পারে। - পাইথন শৈলীর একটি নির্দেশিকা হল স্ট্যান্ডার্ড লাইব্রেরি এবং থার্ড-পার্টি মডিউল ইম্পোর্ট আলাদা করা—এটির জন্যই ফাঁকা লাইন।
- পরবর্তী তিনটি আমদানি Google APIs ক্লায়েন্ট লাইব্রেরি থেকে প্রয়োজনীয় ক্লাস এবং ফাংশন নিয়ে আসে... এই অ্যাপটি লেখার জন্য আমাদের সবই প্রয়োজন। সংক্ষেপে, তারা যা করে তা এখানে:
-
googleapiclient
Google API-এর সাথে সংযোগ করার উপর ফোকাস করে -
httplib2
অ্যাপ ব্যবহারের জন্য একটি HTTP ক্লায়েন্ট প্রদান করে -
oauth2client
আমাদের OAuth2 শংসাপত্র পরিচালনা করতে সাহায্য করে
অনুমোদন এবং আবেদনের শংসাপত্র প্রাপ্তি
SCOPES = 'https://www.googleapis.com/auth/drive.readonly.metadata'
store = file.Storage('storage.json')
creds = store.get()
if not creds or creds.invalid:
flow = client.flow_from_clientsecrets('client_id.json', SCOPES)
creds = tools.run_flow(flow, store)
DRIVE = discovery.build('drive', 'v3', http=creds.authorize(Http()))
- অ্যাপ্লিকেশান
SCOPES
হল সেই অনুমতিগুলি যা একটি অ্যাপ চালনাকারী ব্যবহারকারীকে জিজ্ঞাসা করবে৷ ব্যবহারকারীর ডেটা সুরক্ষিত রাখতে, অনুমতি ছাড়া অ্যাপগুলি চালানো যাবে না - একটি সর্বোত্তম অভ্যাস হল আপনার অ্যাপটি কাজ করার জন্য প্রয়োজনীয় সর্বাধিক সীমাবদ্ধ অনুমতিগুলি ব্যবহার করা। কেন?
- আপনি যখন এটি ইনস্টল করেন বা চালান তখন একটি অ্যাপ যখন অনুমতির একটি বড় সেটের জন্য জিজ্ঞাসা করে তখন এটি কি বিরক্তিকর নয়? অনুমান কি? আপনি এখন মুদ্রার অন্য দিকে আছেন, আপনার ব্যবহারকারীদের কাছে এই সমস্ত অনুমতির জন্য জিজ্ঞাসা করছেন৷ আরো সীমাবদ্ধ স্কোপ ব্যবহার করে ব্যবহারকারীরা আপনার অ্যাপ ইনস্টল করার বিষয়ে আরও ভালো বোধ করে কারণ আপনি কম অ্যাক্সেসের জন্য জিজ্ঞাসা করছেন।
- বেশিরভাগ সমস্ত স্কোপ লম্বা URL এর মত দেখায় এবং ড্রাইভ মেটাডেটা স্কোপও এর ব্যতিক্রম নয়।
SCOPES = 'https://www.googleapis.com/auth/drive.readonly.metadata'
- Google সার্ভারের সাথে যোগাযোগ করার জন্য অ্যাপগুলির জন্য একটি টোকেন প্রয়োজন৷ Google থেকে ফিরে আসা বৈধ টোকেন টোকেন স্টোরেজ ফাইল,
storage.json
এ সংরক্ষিত হবে। আপনি যদি এই টোকেনগুলি সংরক্ষণ না করেন তবে প্রতিবার আপনার অ্যাপটি চালানোর সময় আপনাকে পুনরায় অনুমোদন করতে হবে৷
store = file.Storage('storage.json')
- এই অ্যাপটি প্রথমে যাচাই করে যে আমাদের কাছে ইতিমধ্যেই সঞ্চয়স্থানে বৈধ শংসাপত্র আছে কিনা (
if
বিবৃতি শর্তাধীন দেখুন)।
creds = store.get()
if not creds or creds.invalid:
- আপনার কাছে কোনো বা মেয়াদোত্তীর্ণ শংসাপত্র না থাকলে, আপনার OAuth ক্লায়েন্ট আইডি থেকে এবং আপনার ডাউনলোড করা
client_id.json
ফাইলে গোপনীয়তা থেকে [oauth2client.client.flow_from_clientsecrets()
এর মাধ্যমে একটি নতুন অনুমোদনের প্রবাহ তৈরি করতে হবে।
if not creds or creds.invalid:
flow = client.flow_from_clientsecrets('client_id.json', SCOPES)
- একবার আপনার অ্যাপ্লিকেশানের একটি প্রবাহ হয়ে গেলে, উপরে বর্ণিত এবং চিত্রিত ব্যবহারকারীর কাছে OAuth2 অনুমতি স্ক্রীনটি উপস্থাপন করার জন্য এটি কার্যকর করতে হবে
oauth2client.tools.run_flow()
creds = tools.run_flow(flow, store)
- Allow এ ক্লিক করার মাধ্যমে, ব্যবহারকারীরা তাদের Google ড্রাইভ ফাইল মেটাডেটা অ্যাক্সেস করার জন্য আপনার অ্যাপে সম্মতি দেয় এবং Google সার্ভারগুলি API অ্যাক্সেস করতে টোকেন ফেরত দেয়। সেগুলি
creds
হিসাবে ফেরত দেওয়া হয় এবংstorage.json
ফাইলে ক্যাশে করা হয়। - এই মুহুর্তে, আপনার অ্যাপে এখন API কল করার বৈধ শংসাপত্র রয়েছে।
googleapiclient.discovery.build()
কল করলে আপনি যে APIটি ব্যবহার করছেন তার একটি পরিষেবা শেষ পয়েন্ট তৈরি করে। -
build()
ব্যবহার করতে, API নাম ('drive'
) এবং পছন্দসই সংস্করণে পাস করুন (বর্তমানে'v3'
)। - এনক্রিপ্ট করা API কলের জন্য ব্যবহার করার জন্য চূড়ান্ত প্যারামিটার হল একটি HTTP ক্লায়েন্ট।
DRIVE = discovery.build('drive', 'v3', http=creds.authorize(Http()))
প্রথম 100টি ড্রাইভ ফাইল/ফোল্ডার এবং MIME টাইপ আনুন এবং প্রদর্শন করুন)
files = DRIVE.files().list().execute().get('files', [])
for f in files:
print(f['name'], f['mimeType'])
- কোডের পরবর্তী লাইনটি অনুরোধটি তৈরি করার জন্য
files()
সংগ্রহেlist()
পদ্ধতিকে কল করে, যা অবিলম্বেexecute()
দিয়ে বলা হয়। একটি পাইথনdict
ফেরত দেওয়া হয় যেখান থেকে আমরা ব্যবহারকারীর Google ড্রাইভ থেকে 100টি ফাইল এবং ফোল্ডারের নাম পেতে'files'
কী চাই (বা যদি আপনার কাছে কম ফাইল থাকে)। - কেন 100? এটি
DRIVE.files().list()
থেকে ডিফল্ট। আপনি যদি এই নম্বরটি পরিবর্তন করতে চান, শুধুমাত্র 10টি ফাইল বা 1000 বলুন, আপনার অনুরোধেpageSize
প্যারামিটার যোগ করুন:DRIVE.files().list(pageSize=10)
এখানে আরও বিকল্পের জন্য ডকুমেন্টেশন আছে. - স্ক্রিপ্টের চূড়ান্ত অংশ প্রতিটি ফাইলের মধ্য দিয়ে লুপ করে এবং তাদের নাম ও ফাইলের MIME টাইপ প্রদর্শন করে।
আপনি এখন আপনার প্রথম অ্যাপ্লিকেশন লিখেছেন যা একটি Google REST API ব্যবহার করে... অভিনন্দন! আমদানি এবং অনুমোদন কোড বাদে, এই স্ক্রিপ্টটি আসলেই কোডের কয়েকটি লাইন (আপনি উপরে যা দেখছেন)। বেশিরভাগ Google API একইভাবে কাজ করে এবং আপনি ব্যবহার করতে চান এমন প্রতিটির জন্য আপনাকে শুধুমাত্র পরিষেবার শেষ পয়েন্ট তৈরি করতে হবে।
একটি অ্যাপে একাধিক Google API ব্যবহার করা
হ্যাঁ, আপনি অবশ্যই একই অ্যাপে একাধিক API ব্যবহার করতে পারেন! এখানে একটি অ্যাপের জন্য একটি পাইথন কোড স্নিপেট রয়েছে যা একই HTTP ক্লায়েন্ট পুনরায় ব্যবহার করে এবং তিনটি Google API-এর পরিষেবার শেষ পয়েন্ট তৈরি করে (হ্যাঁ, 3টি ভিন্ন SCOPES
সহ):
SCOPES = (
'https://www.googleapis.com/auth/drive',
'https://www.googleapis.com/auth/spreadsheets.readonly',
'https://www.googleapis.com/auth/presentations',
)
. . .
HTTP = creds.authorize(Http())
DRIVE = discovery.build('drive', 'v3', http=HTTP)
SHEETS = discovery.build('sheets', 'v4', http=HTTP)
SLIDES = discovery.build('slides', 'v1', http=HTTP)
আমরা কল্পনা করি যে এই কোডটি এমন একটি অ্যাপের অংশ হতে পারে যা স্প্রেডশীট ডেটা (শিট API) এর উপর ভিত্তি করে একাধিক স্লাইড ডেক (স্লাইড API) তৈরি করে এবং একটি স্লাইড টেমপ্লেট ব্যবহার করে যা প্রতিটি ডেকের জন্য কপি করা হয় (ড্রাইভ API)। যদিও এই ধরনের অ্যাপের অস্তিত্ব নেই, Google Workspace টিম বিল্ডিং ব্লক হিসেবে তৈরি করা দুটি বিদ্যমান নমুনা ব্যবহার করে আপনি অনুরূপ কিছু তৈরি করতে সক্ষম হবেন:
- স্লাইডে টেক্সট ও ইমেজ প্রতিস্থাপন ( ব্লগ পোস্ট এবং ভিডিও ) — একটি স্লাইড টেমপ্লেট ডেক কপি করতে ড্রাইভ এপিআই ব্যবহার করে তারপর টেক্সট ও ইমেজ প্লেসহোল্ডার পরিবর্তন করতে স্লাইড এপিআই ব্যবহার করে
- স্প্রেডশীট ডেটা ( ব্লগ পোস্ট এবং ভিডিও ) থেকে স্লাইড তৈরি করা — একটি স্প্রেডশীট (শীট এপিআই) থেকে ডেটা পড়ে এবং সেই ডেটার উপর ভিত্তি করে স্লাইড (স্লাইড এপিআই) তৈরি করে
আপনার চ্যালেঞ্জ: সেই অ্যাপটি তৈরি করুন!
12. *উন্নত ডেভ কনসোল ব্যবহার
এই ঐচ্ছিক বিভাগে, আমরা বর্ণনা করি কিভাবে ডেভ কনসোলে প্রজেক্ট তৈরি করতে হয়, এপিআই সক্ষম করতে হয় এবং কোডল্যাবে উপরের মতো উইজার্ড ব্যবহার না করেই ক্রেডেনশিয়াল পেতে হয়। এটি মধ্যবর্তী ব্যবহারকারীদের জন্য যথেষ্ট স্বাচ্ছন্দ্য ম্যানুয়ালি করতে বা কীভাবে তা শিখতে চান।
ক্লাউড কনসোলে প্রকল্প নির্দিষ্ট করুন
যে কোনো সময় আপনি Google API ব্যবহার করে একটি অ্যাপ্লিকেশন লেখেন, আপনার একটি প্রকল্প থাকতে হবে। আপনি হয় একটি বিদ্যমান প্রকল্প পুনরায় ব্যবহার করতে পারেন বা একটি নতুন তৈরি করতে পারেন৷ এটি ক্লাউড কনসোলে ঘটে। কিছু কোডল্যাব একটি ম্যাজিক লিঙ্ক প্রদান করে (যেমন, একটি সেটআপ উইজার্ডের মতো) যা আপনাকে অনেক প্রয়োজনীয় পদক্ষেপ এড়িয়ে দ্রুত এগিয়ে যেতে সাহায্য করে। কিন্তু তাদের সবাই তা করে না, তাই এগুলি কীভাবে প্রকল্প তৈরি করতে হয় সে সম্পর্কে সাধারণ নির্দেশাবলীর উদ্দেশ্যে করা হয়েছে।
আপনি ক্লাউড কনসোলের বেশিরভাগ স্ক্রীন থেকে প্রকল্প তৈরি করতে পারেন, যতক্ষণ না আপনি আপনার Google শংসাপত্রের সাথে লগ ইন করেছেন এবং কনসোলের শীর্ষে একটি প্রকল্প পুলডাউন দেখতে পাচ্ছেন। মনে রাখবেন যে এখানে বেশিরভাগ স্ক্রিনশট API ম্যানেজার ওরফে ডেভেলপারস কনসোল থেকে নেওয়া হয়েছে (বাম-নেভিতে "API ম্যানেজার" ক্লিক করে বা সরাসরি আপনার ব্রাউজারকে console.developers.google.com- এ নির্দেশ করে সহজেই পৌঁছানো যায়।
- আপনার যদি এখনও কোনো প্রকল্প না থাকে, তাহলে আপনাকে নিয়ে যাওয়া হতে পারে...
- ড্যাশবোর্ড পৃষ্ঠা:
- লাইব্রেরি পৃষ্ঠা:
- অথবা একটি সম্পূর্ণ ফাঁকা পৃষ্ঠা: যদি এই 3য়টি আপনার সাথে ঘটে থাকে তবে লাইব্রেরি পৃষ্ঠায় নিয়ে যাওয়ার জন্য ব্রাউজারটি রিফ্রেশ করুন।
- আপনি ড্যাশবোর্ড বা লাইব্রেরি পৃষ্ঠাগুলিতে থাকুন না কেন, পৃষ্ঠার শীর্ষে প্রকল্প নির্বাচক ক্লিক করুন:
- পরবর্তী, আপনি নির্বাচক ডায়ালগ পাবেন। একটি নতুন প্রকল্প তৈরি করতে ডানদিকের "+" এ ক্লিক করুন:
- আপনি "+" ক্লিক করার পরে, একটি নতুন প্রকল্প পৃষ্ঠা উপস্থিত হবে। সমস্ত গ্রাহক অ্যাকাউন্টগুলি ডিফল্টরূপে 12 টি প্রকল্প পায়। আপনার প্রথম প্রকল্প তৈরি করার আগে আপনাকে গুগল এপিআইএস পরিষেবার শর্তাদি গ্রহণ করতে হবে:
আপনি এটি করার পরে, ইমেল অনুরোধ এবং পরিষেবা প্রশ্নের শর্তাদি ভবিষ্যতের প্রকল্পগুলি তৈরি করার সময় চলে যায়:
৫. যদি আপনি অতীতে কমপক্ষে একটি প্রকল্প তৈরি করেন, লগইন করার পরে, আপনাকে আপনি যে শেষ প্রকল্পে কাজ করেছেন তার ড্যাশবোর্ডে নিয়ে যাওয়া হবে। সেখান থেকে, আপনি একটি নতুন প্রকল্প তৈরি করুন কারণ আপনি নির্বাচন করবেন একটি প্রকল্প > + নির্বাচন করুন। Your। আপনার নতুন প্রকল্পটি তৈরি হয়ে গেলে, আপনি ড্যাশবোর্ড পৃষ্ঠায় ফিরে আসবেন:
আপনি এখন সফলভাবে একটি প্রকল্প তৈরি করেছেন এবং আপনার প্রকল্পের জন্য আপনি যে এপিআই ব্যবহার করতে চান তা বেছে নিয়ে এগিয়ে যেতে প্রস্তুত।
গুগল এপিআই সক্ষম করুন
আপনি গুগল এপিআই ব্যবহার শুরু করার আগে আপনাকে অবশ্যই সেগুলি সক্ষম করতে হবে। নীচের উদাহরণটি দেখায় যে ক্লাউড ভিশন এপিআই সক্ষম করতে আপনি কী করবেন। এই কোডল্যাবটিতে, আপনি এক বা একাধিক এপিআই ব্যবহার করতে পারেন এবং ব্যবহারের আগে সেগুলি সক্ষম করার জন্য একই পদক্ষেপগুলি অনুসরণ করা উচিত।
ক্লাউড শেল থেকে
ক্লাউড শেল ব্যবহার করে, আপনি নিম্নলিখিত কমান্ডটি ব্যবহার করে এপিআই সক্ষম করতে পারেন:
gcloud services enable vision.googleapis.com
ক্লাউড কনসোল থেকে
আপনি এপিআই ম্যানেজারে ভিশন এপিআই সক্ষম করতে পারেন। ক্লাউড কনসোল থেকে, এপিআই ম্যানেজারে যান এবং নির্বাচন করুন, "গ্রন্থাগার"।
অনুসন্ধান বারে টাইপ করা শুরু করুন, "ভিশন", তারপরে ভিশন এপিআই নির্বাচন করুন যখন এটি প্রদর্শিত হবে। আপনি টাইপ করার সাথে সাথে এটি এমন কিছু দেখতে পারে:
আপনি নীচে দেখতে ডায়ালগটি পেতে ক্লাউড ভিশন এপিআই নির্বাচন করুন, তারপরে "সক্ষম করুন" বোতামটি ক্লিক করুন:
খরচ
যদিও অনেকগুলি গুগল এপিআই ফি ছাড়াই ব্যবহার করা যেতে পারে, জিসিপি (পণ্য এবং এপিআই) এর ব্যবহার নিখরচায় নয়। ভিশন এপিআই সক্ষম করার সময় (উপরে বর্ণিত হিসাবে), আপনাকে একটি সক্রিয় বিলিং অ্যাকাউন্টের জন্য জিজ্ঞাসা করা যেতে পারে। ভিশন এপিআইয়ের মূল্য নির্ধারণের তথ্য সক্ষম করার আগে ব্যবহারকারী দ্বারা উল্লেখ করা উচিত। মনে রাখবেন যে নির্দিষ্ট গুগল ক্লাউড প্ল্যাটফর্ম (জিসিপি) পণ্যগুলিতে একটি "সর্বদা ফ্রি" স্তর রয়েছে যার জন্য আপনাকে বিলিংয়ে নেওয়ার জন্য ছাড়িয়ে যেতে হবে। কোডল্যাবের উদ্দেশ্যে, ভিশন এপিআই -তে প্রতিটি কল সেই নিখরচায় স্তরের বিরুদ্ধে গণনা করে এবং যতক্ষণ আপনি সামগ্রিক (প্রতি মাসের মধ্যে) এর সীমাতে থাকেন ততক্ষণ আপনার কোনও চার্জ নেওয়া উচিত নয়।
কিছু গুগল এপিআই, আইই, গুগল ওয়ার্কস্পেসের একটি মাসিক সাবস্ক্রিপশন দ্বারা আচ্ছাদিত ব্যবহার রয়েছে, সুতরাং উদাহরণস্বরূপ জিমেইল, গুগল ড্রাইভ, ক্যালেন্ডার, ডকস, শিটস এবং স্লাইড এপিআই ব্যবহারের জন্য সরাসরি বিলিং নেই। বিভিন্ন গুগল পণ্যগুলি আলাদাভাবে বিল করা হয়, তাই সেই তথ্যের জন্য আপনার এপিআইয়ের ডকুমেন্টেশন উল্লেখ করতে ভুলবেন না।
সারাংশ
এই কোডল্যাবটিতে আপনাকে কেবল গুগল ড্রাইভ এপিআই চালু করতে হবে, সুতরাং উপরের নির্দেশাবলী অনুসরণ করুন এবং "ড্রাইভ" অনুসন্ধান করুন। এটি সক্ষম হয়ে গেলে এগিয়ে যান।
এপিআই অনুরোধগুলি অনুমোদন করুন (ব্যবহারকারী অনুমোদন)
অনুমোদনের পরিচয় (আরও কিছু প্রমাণীকরণ)
এপিআইগুলিতে অনুরোধ করার জন্য, আপনার অ্যাপ্লিকেশনটির যথাযথ অনুমোদন থাকা দরকার। প্রমাণীকরণ , একটি অনুরূপ শব্দ, লগইন শংসাপত্রগুলি বর্ণনা করে - লগইন এবং পাসওয়ার্ড সহ আপনার গুগল অ্যাকাউন্টে লগ ইন করার সময় আপনি নিজেকে প্রমাণীকরণ করেন। একবার অনুমোদিত হয়ে গেলে, পরবর্তী পদক্ষেপটি হ'ল আপনি কিনা - বা বরং আপনার কোড , ডেটা অ্যাক্সেস করার জন্য অনুমোদিত যেমন ক্লাউড স্টোরেজে ব্লব ফাইল বা গুগল ড্রাইভে কোনও ব্যবহারকারীর ব্যক্তিগত ফাইল।
গুগল এপিআইগুলি বিভিন্ন ধরণের অনুমোদনের সমর্থন করে তবে গুগল ওয়ার্কস্পেস এপিআই ব্যবহারকারীদের জন্য সবচেয়ে সাধারণ একটি হ'ল ব্যবহারকারী অনুমোদন যেহেতু এই কোডল্যাবের উদাহরণ অ্যাপ্লিকেশনটি শেষ ব্যবহারকারীদের অন্তর্ভুক্ত ডেটা অ্যাক্সেস করে। এই শেষ ব্যবহারকারীদের অবশ্যই আপনার অ্যাপ্লিকেশনটির ডেটা অ্যাক্সেস করার জন্য অনুমতি দিতে হবে। এর অর্থ আপনার কোডটি অবশ্যই ব্যবহারকারী অ্যাকাউন্ট OAuth2 শংসাপত্রগুলি গ্রহণ করতে হবে।
ব্যবহারকারীর অনুমোদনের জন্য OAuth2 শংসাপত্রগুলি পেতে, এপিআই ম্যানেজারে ফিরে যান এবং বাম-নাভের "শংসাপত্রগুলি" ট্যাবটি নির্বাচন করুন:
আপনি যখন সেখানে পৌঁছবেন, আপনি আপনার সমস্ত শংসাপত্রগুলি তিনটি পৃথক বিভাগে দেখতে পাবেন:
প্রথমটি এপিআই কীগুলির জন্য, দ্বিতীয় ওএউথ 2.0 ক্লায়েন্ট আইডি, এবং শেষ ওএউথ 2 পরিষেবাটিতে আমি মাঝখানে একটি ব্যবহার করে ব্যবহার করেছি।
শংসাপত্র তৈরি করা হচ্ছে
শংসাপত্র পৃষ্ঠা থেকে, শীর্ষে + + তৈরি করুন শংসাপত্রগুলি তৈরি করুন ক্লিক করুন, যা আপনাকে একটি ডায়ালগ দেয় যেখানে আপনি "OAuth ক্লায়েন্ট আইডি:" চয়ন করবেন
পরবর্তী স্ক্রিনে, আপনার 2 টি ক্রিয়া রয়েছে: আপনার অ্যাপ্লিকেশনটির অনুমোদন "সম্মতি স্ক্রিন" কনফিগার করা এবং অ্যাপ্লিকেশন প্রকারটি বেছে নেওয়া:
আপনি যদি কোনও সম্মতি স্ক্রিন সেট না করে থাকেন তবে আপনি কনসোলে সতর্কতাটি দেখতে পাবেন এবং এখনই এটি করা দরকার। (যদি আপনার সম্মতি স্ক্রিনটি ইতিমধ্যে সেটআপ হয়ে যায় তবে এই পরবর্তী পদক্ষেপগুলি এড়িয়ে যান))
Oauth সম্মতি পর্দা
"কনফিগার কনফিগার স্ক্রিন" এ ক্লিক করুন যেখানে আপনি একটি "বাহ্যিক" অ্যাপ্লিকেশন নির্বাচন করুন (বা "অভ্যন্তরীণ" আপনি যদি গুগল ওয়ার্কস্পেস গ্রাহক হন):
নোট করুন যে এই অনুশীলনের উদ্দেশ্যে, আপনি কোনটি বেছে নেন তা বিবেচ্য নয় কারণ আপনি আপনার কোডেল্যাব নমুনা প্রকাশ করছেন না। বেশিরভাগ লোকেরা আরও জটিল স্ক্রিনে নিয়ে যাওয়ার জন্য "বাহ্যিক" নির্বাচন করবেন তবে আপনাকে কেবলমাত্র শীর্ষে "অ্যাপ্লিকেশন নাম" ক্ষেত্রটি সম্পূর্ণ করতে হবে:
এই মুহুর্তে আপনার কেবলমাত্র প্রয়োজন কেবল একটি অ্যাপ্লিকেশন নাম তাই এমন কাউকে চয়ন করুন যা আপনি যে কোডেল্যাব করছেন তা প্রতিফলিত করে তারপরে সেভ ক্লিক করুন।
OAuth ক্লায়েন্ট আইডি তৈরি করা (ব্যবহারকারী ACCT AUTH)
এখন একটি OAuth2 ক্লায়েন্ট আইডি তৈরি করতে শংসাপত্র ট্যাবে ফিরে যান। এখানে আপনি তৈরি করতে পারেন এমন বিভিন্ন ওআউথ ক্লায়েন্ট আইডি দেখতে পাবেন:
আমরা একটি কমান্ড-লাইন সরঞ্জাম বিকাশ করছি, যা অন্য , তাই এটি চয়ন করুন তারপরে তৈরি বোতামটি ক্লিক করুন। আপনি যে অ্যাপ্লিকেশনটি তৈরি করছেন তা প্রতিফলিত করে একটি ক্লায়েন্ট আইডি নাম চয়ন করুন বা কেবল ডিফল্ট নামটি নিন, যা সাধারণত "অন্যান্য ক্লায়েন্ট এন "।
আপনার শংসাপত্রগুলি সংরক্ষণ করা
- নতুন শংসাপত্রগুলির সাথে একটি ডায়ালগ উপস্থিত হয়; বন্ধ করতে ওকে ক্লিক করুন
- শংসাপত্র পৃষ্ঠায় ফিরে আসুন, "OAuth2 ক্লায়েন্ট আইডিএস" বিভাগে নীচে স্ক্রোল করুন ডাউনলোড আইকনটি সন্ধান করুন এবং ক্লিক করুন আপনার সদ্য নির্মিত ক্লায়েন্ট আইডির ডান নীচে।
- এটি
client_secret-
LONG-HASH-STRING
.apps.googleusercontent.com.json
নামে একটি ফাইল সংরক্ষণ করতে একটি ডায়ালগটি খোলে, সম্ভবত আপনার ডাউনলোড ফোল্ডারে। আমরাclient_secret.json
(যা নমুনা অ্যাপটি ব্যবহার করে) এর মতো একটি সহজ নামকে সংক্ষিপ্ত করার পরামর্শ দিই, তারপরে এটি ডিরেক্টরি/ফোল্ডারে সংরক্ষণ করুন যেখানে আপনি এই কোডল্যাবটিতে নমুনা অ্যাপটি তৈরি করবেন।