curl - Google कैलेंडर API(oauth2) 'अपर्याप्त अनुमति' के साथ प्रतिक्रिया क्यों दे रहा है?




oauth-2.0 google-calendar (4)

कैलेंडर विज़िट कैलेंडर एपीआई के लिए दायरा जोड़ें और एक्सेस कॉन्फ़िगरेशन जांचें

https://www.googleapis.com/auth/calendar
https://www.googleapis.com/auth/calendar.readonly

मैं निम्नलिखित यूआरएल ({id} के साथ वेब इंटरफ़ेस से आईडी के साथ प्रतिस्थापित करने के लिए अनुरोध प्राप्त कर रहा हूं):

https://www.googleapis.com/calendar/v3/calendars/{id}

कुछ दावे:

  1. अधिकृत हेडर को वैध पहुंच टोकन के साथ सही ढंग से सेट किया जा रहा है (टोकन Analytics API के लिए ठीक काम करता है)

  2. मैंने oauth2 के लिए निम्न स्कोप सेट किया है, जो सही तरीके से दिखाया गया है:

    https://www.googleapis.com/auth/calendar
    
  3. टोकन की समय सीमा समाप्त नहीं हुई है; यह Analytics API के लिए काम करता है।

    { "error": { "errors": [ { "domain": "global", "reason": "insufficientPermissions", "message": "Insufficient Permission" } ], "code": 403, "message": "Insufficient Permission" } }
    

कैलेंडर तक पहुंचने के लिए पर्याप्त अनुमति रखने के लिए मुझे Google प्लस स्कोप शामिल करना था:

तो मेरा scope इस तरह दिख रहा है:

'https://www.googleapis.com/auth/calendar', 'https://www.googleapis.com/auth/calendar.readonly', 'https://www.googleapis.com/auth/plus.login'



मेरे पास एक ही समस्या थी जबकि मैं अपने Google कैलेंडर में कोई ईवेंट जोड़ने की कोशिश कर रहा था। आखिरकार मैंने इसे कैसे तय किया:

  • मेरी फाइल 'credentials.json' हटाएं
  • एक पायथन कार्यक्रम लॉन्च करें जो Google के क्विकस्टार्ट प्रोग्राम की तरह दिखता है जिसमें "SCOPES = ' https://www.googleapis.com/auth/calendar ' लिखा गया है। यह कार्यक्रम एकमात्र समाधान था जो मेरे लिए काम करता था। मेरे असली काम को कॉल करने के लिए मेरे django कमांड लॉन्च करें मेरे लिए काम नहीं किया। लेकिन यह मेरी अनुमति समस्या तय की।

फिर, यह आपके ब्राउज़र को खोलता है और Google आपके कैलेंडर को प्रबंधित करने और आपके रिपर्टरी में एक नया 'credentials.json' बनाने की अनुमति मांगता है।