অনুমোদন ত্রুটি

অনুমোদন প্রক্রিয়া চলাকালীন, Google OAuth একটি ত্রুটি ফেরত দিতে পারে। এই প্রক্রিয়া চলাকালীন সবচেয়ে সাধারণ ত্রুটিগুলি সমাধান করতে এই নির্দেশিকাটি ব্যবহার করুন৷

সমস্যা সমাধান

Google OAuth সম্পর্কে আরও জানতে, Google API অ্যাক্সেস করতে OAuth 2.0 ব্যবহার করা দেখুন।

রিফ্রেশ টোকেনের মেয়াদ শেষ হচ্ছে

ক্লায়েন্ট আইডি অনুমোদিত না হলে রিফ্রেশ টোকেন 7 দিন পরে কাজ করা বন্ধ করতে পারে একটি সম্ভাব্য কারণ। 7-দিনের টোকেনের মেয়াদ বাণিজ্যিক বা স্যান্ডবক্স অনুমোদনের সাথে সম্পর্কিত নয়। একটি পরিষেবা বা ব্যবহারকারীর অ্যাকাউন্টকে তাদের OAuth 2.0 ক্লায়েন্ট আইডি অনুমোদিত হতে হবে এবং দীর্ঘ টোকেন জীবনকাল পেতে উত্পাদন করতে হবে। আরও তথ্যের জন্য রিফ্রেশ টোকেনের মেয়াদ দেখুন।

অ্যাক্সেস অস্বীকার করা হয়েছে৷

আপনি যদি Google ক্লাউডে আপনার OAuth সম্মতি স্ক্রীন সেট আপ করে থাকেন এবং ব্যবহারকারীর ধরনটি বাহ্যিক হয়, তাহলে আপনি একটি "অ্যাক্সেস অস্বীকৃত" ত্রুটি পাবেন যদি আপনি এমন একটি Google অ্যাকাউন্টের সাথে অ্যাকাউন্ট লিঙ্ক করার চেষ্টা করেন যা আপনার অ্যাপের পরীক্ষামূলক ব্যবহারকারী হিসাবে তালিকাভুক্ত নয় . আপনার OAuth সম্মতি স্ক্রিনে পরীক্ষা ব্যবহারকারী বিভাগে Google অ্যাকাউন্ট যোগ করার বিষয়টি নিশ্চিত করুন।

পার্টনার কানেকশন ম্যানেজার (PCM) ত্রুটি৷

PCM অ্যাক্সেস করার সময় যে কোনো ত্রুটির সম্মুখীন হলে সাহায্যের জন্য, পার্টনার কানেকশন ম্যানেজার (PCM) এরর রেফারেন্স দেখুন।

Google এই অ্যাপটি যাচাই করেনি

SDM API একটি সীমাবদ্ধ স্কোপ ব্যবহার করে, যার মানে হল যে কোনও অ্যাপ যেগুলি অনুমোদনের সময় এই সুযোগ ব্যবহার করে সেগুলি "অযাচাই করা" হবে যদি না OAuth API যাচাইকরণ সম্পূর্ণ হয়। ব্যবহার করার সময় Device Access ব্যক্তিগত ব্যবহারের জন্য, OAuth API যাচাইকরণের প্রয়োজন নেই।

অনুমোদন প্রক্রিয়া চলাকালীন আপনি একটি "Google এই অ্যাপটি যাচাই করেনি" স্ক্রীন দেখতে পেতে পারেন, যা Google ক্লাউডে আপনার OAuth সম্মতি স্ক্রীনে sdm.service স্কোপ কনফিগার না করা থাকলে দেখা যায়। অ্যাডভান্সড বিকল্পে ক্লিক করে এবং তারপরে প্রকল্পের নামে যান (অনিরাপদ) ক্লিক করে এই স্ক্রীনটি বাইপাস করা যেতে পারে।

আরও তথ্যের জন্য যাচাইকৃত অ্যাপ স্ক্রীন দেখুন।

অবৈধ ক্লায়েন্ট

একটি অ্যাক্সেস বা রিফ্রেশ টোকেন পাওয়ার চেষ্টা করার সময়, আপনি যদি একটি ভুল OAuth 2.0 ক্লায়েন্ট সিক্রেট প্রদান করেন তবে আপনি একটি "অবৈধ ক্লায়েন্ট" ত্রুটি পাবেন৷ আপনার Google ক্লাউড শংসাপত্রের পৃষ্ঠায় পাওয়া OAuth 2.0 ক্লায়েন্ট আইডি ব্যবহার করার জন্য অ্যাক্সেস এবং রিফ্রেশ টোকেন কলগুলিতে আপনি যে client_secret মান ব্যবহার করছেন তা নিশ্চিত করুন৷

অবৈধ অনুরোধ, প্রয়োজনীয় সুযোগ অনুপস্থিত

PCM-এ অনুমতি দেওয়ার পরে, আপনি "অবৈধ অনুরোধ" ত্রুটির মধ্যে পড়তে পারেন "অনুপস্থিত প্রয়োজনীয় প্যারামিটার: স্কোপ"। আপনার Google ক্লাউড শংসাপত্রের পৃষ্ঠায় পাওয়া হিসাবে, OAuth 2.0 ক্লায়েন্টের জন্য আপনি যে scope মানটি ব্যবহার করছেন তা আপনি অনুমোদন কলে ব্যবহার করছেন তা নিশ্চিত করুন৷

রিডাইরেক্ট ইউরি অমিল

অনুমোদনের মধ্য দিয়ে যাওয়ার সময়, আপনি একটি "রিডাইরেক্ট ইউরি অমিল" ত্রুটির সম্মুখীন হতে পারেন৷ আপনার Google ক্লাউড শংসাপত্র পৃষ্ঠায় পাওয়া হিসাবে, OAuth 2.0 ক্লায়েন্টের জন্য আপনি যেটি সেট করেছেন সেটির মতোই আপনি অনুমোদন কলে ব্যবহার করছেন redirect_uri মানটি নিশ্চিত করুন৷

দ্রুত রেফারেন্স

অনুমোদন করার পদক্ষেপগুলি দ্রুত বাস্তবায়ন করতে এই রেফারেন্সটি ব্যবহার করুনuser এবং তাদের Google অ্যাকাউন্ট লিঙ্ক করুন।

এই দ্রুত রেফারেন্সটি ব্যবহার করতে, আপনার নির্দিষ্ট ইন্টিগ্রেশনের জন্য মান সহ কোড নমুনাগুলিতে প্রতিটি স্থানধারক ভেরিয়েবল সম্পাদনা করুন এবং প্রয়োজন অনুসারে অনুলিপি এবং পেস্ট করুন:

1 পিসিএম

সরাসরি user আপনার অ্যাপের PCM লিঙ্কে, প্রতিস্থাপন করুন:

  1. project-id - আপনার সাথে project-id Device Access Project আইডি
  2. আপনার Google ক্লাউড শংসাপত্র থেকে OAuth2 ক্লায়েন্ট আইডি সহ oauth2-client-id
  3. আপনি যে OAuth2 ক্লায়েন্ট আইডি ব্যবহার করছেন তার জন্য নির্দিষ্ট করা একটি পুনঃনির্দেশ URI সহ redirect-uri
  4. আপনার উপলব্ধ সুযোগ এক সঙ্গে scope
https://nestservices.google.com/partnerconnections/project-id/auth?redirect_uri=redirect-uri&access_type=offline&prompt=consent&client_id=oauth2-client-id&response_type=code&scope=https://www.googleapis.com/auth/scope

2 প্রমাণীকরণ কোড

আপনার নির্বাচিত সুযোগের জন্য PCM এর মাধ্যমে অনুমতি দেওয়ার পরে, user আপনার নির্দিষ্ট পুনঃনির্দেশ ইউআরআইতে পুনঃনির্দেশিত করা উচিত। ইউআরএল-এর code প্যারামিটার হিসাবে অনুমোদন কোডটি ফেরত দেওয়া হয়, যা এই ফর্ম্যাটে হওয়া উচিত:

redirect-uri?code=authorization-code&scope=https://www.googleapis.com/auth/scope

3 অ্যাক্সেস টোকেন

একটি অ্যাক্সেস টোকেন পুনরুদ্ধার করতে অনুমোদন কোডটি ব্যবহার করুন, যা আপনি ব্যবহারকারীর পক্ষে SDM API কল করতে ব্যবহার করতে পারেন৷

প্রতিস্থাপন করে Google এর OAuth এন্ডপয়েন্টে একটি POST কল করুন:

  1. আপনার Google ক্লাউড শংসাপত্র থেকে OAuth2 ক্লায়েন্ট আইডি এবং ক্লায়েন্ট সিক্রেট সহ oauth2-client-id এবং oauth2-client-secret
  2. আগের ধাপে আপনি যে কোডটি পেয়েছেন তার সাথে authorization-code
  3. আপনি যে OAuth2 ক্লায়েন্ট আইডি ব্যবহার করছেন তার জন্য নির্দিষ্ট করা একটি পুনঃনির্দেশ URI সহ redirect-uri

Google OAuth দুটি টোকেন প্রদান করে, একটি অ্যাক্সেস টোকেন এবং একটি রিফ্রেশ টোকেন।

অনুরোধ

curl -L -X POST 'https://www.googleapis.com/oauth2/v4/token?client_id=oauth2-client-id&client_secret=oauth2-client-secret&code=authorization-code&grant_type=authorization_code&redirect_uri=redirect-uri'

প্রতিক্রিয়া

{
  "access_token": "access-token",
  "expires_in": 3599,
  "refresh_token": "refresh-token",
  "scope": "https://www.googleapis.com/auth/scope",
  "token_type": "Bearer"
}

4 API কল

আপনি এর সাথে একটি API কল না করা পর্যন্ত অনুমোদন সম্পূর্ণ হয় না userএর অ্যাক্সেস টোকেন। এই প্রাথমিক কল অনুমোদন প্রক্রিয়া শেষ করে এবং ইভেন্টগুলি সক্ষম করে।

অনুমোদন সম্পূর্ণ করার জন্য আপনাকে নির্দিষ্ট সুযোগের জন্য তালিকাভুক্ত API কলগুলির একটি ব্যবহার করতে হবে

sdm.service

ডিভাইস

আরও তথ্যের জন্য devices.list API রেফারেন্স দেখুন।

curl -X GET 'https://smartdevicemanagement.googleapis.com/v1/enterprises/project-id/devices' \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer access-token'

5 রিফ্রেশ টোকেন

SDM API-এর অ্যাক্সেস টোকেনগুলি শুধুমাত্র 1 ঘন্টার জন্য বৈধ, যেমনটি Google OAuth দ্বারা প্রত্যাবর্তিত expires_in প্যারামিটারে উল্লেখ করা হয়েছে৷ আপনার অ্যাক্সেস টোকেনের মেয়াদ শেষ হলে, একটি নতুন পেতে রিফ্রেশ টোকেন ব্যবহার করুন।

প্রতিস্থাপন করে Google এর OAuth এন্ডপয়েন্টে একটি POST কল করুন:

  1. আপনার Google ক্লাউড শংসাপত্র থেকে OAuth2 ক্লায়েন্ট আইডি এবং ক্লায়েন্ট সিক্রেট সহ oauth2-client-id এবং oauth2-client-secret
  2. প্রাথমিকভাবে অ্যাক্সেস টোকেন পাওয়ার সময় আপনি যে কোডটি পেয়েছিলেন তার সাথে refresh-token

Google OAuth একটি নতুন অ্যাক্সেস টোকেন প্রদান করে।

অনুরোধ

curl -L -X POST 'https://www.googleapis.com/oauth2/v4/token?client_id=oauth2-client-id&client_secret=oauth2-client-secret&refresh_token=refresh-token&grant_type=refresh_token'

প্রতিক্রিয়া

{
  "access_token": "new-access-token",
  "expires_in": 3599,
  "scope": "https://www.googleapis.com/auth/scope",
  "token_type": "Bearer"
}