Acl: insert

ऐक्सेस कंट्रोल का नियम बनाता है. इसे अभी आज़माएं या उदाहरण देखें.

अनुरोध

एचटीटीपी अनुरोध

POST https://www.googleapis.com/calendar/v3/calendars/calendarId/acl

पैरामीटर

पैरामीटर का नाम मान ब्यौरा
पाथ पैरामीटर
calendarId string कैलेंडर आइडेंटिफ़ायर. कैलेंडर आईडी पाने के लिए, calendarList.list तरीके को कॉल करें. अगर आपको लॉग इन किए हुए उपयोगकर्ता का प्राइमरी कैलेंडर ऐक्सेस करना है, तो "primary" कीवर्ड का इस्तेमाल करें.
ज़रूरी नहीं क्वेरी पैरामीटर
sendNotifications boolean कैलेंडर शेयर करने की सेटिंग में हुए बदलाव की सूचनाएं भेजनी हैं या नहीं. ज़रूरी नहीं. डिफ़ॉल्ट रूप से, यह 'सही' पर सेट होता है.

अनुमति देना

इस अनुरोध के लिए, इनमें से कम से कम एक स्कोप के साथ अनुमति देना ज़रूरी है:

दायरा
https://www.googleapis.com/auth/calendar
https://www.googleapis.com/auth/calendar.acls

ज़्यादा जानकारी के लिए, पुष्टि और अनुमति पेज देखें.

अनुरोध का मुख्य भाग

अनुरोध के मुख्य हिस्से में, इन प्रॉपर्टी के साथ Acl रिसॉर्स दें:

प्रॉपर्टी का नाम मान ब्यौरा नोट
ज़रूरी प्रॉपर्टी
role string स्कोप के लिए असाइन की गई भूमिका. वैल्यू इस तरह की हो सकती हैं:
  • "none" - कोई ऐक्सेस नहीं देता.
  • "freeBusyReader" - इससे, खाली/व्यस्त होने की जानकारी को पढ़ने का ऐक्सेस मिलता है.
  • "reader" - इससे कैलेंडर को पढ़ने का ऐक्सेस मिलता है. निजी इवेंट, रीडर ऐक्सेस वाले उपयोगकर्ताओं को दिखेंगे. हालांकि, इवेंट की जानकारी नहीं दिखेगी.
  • "writer" - इससे कैलेंडर को पढ़ने और उसमें बदलाव करने का ऐक्सेस मिलता है. निजी इवेंट, लेखक के ऐक्सेस वाले उपयोगकर्ताओं को दिखेंगे. साथ ही, इवेंट की जानकारी भी दिखेगी. इससे कैलेंडर के एसीएल को पढ़ने का ऐक्सेस मिलता है.
  • "owner" - इससे कैलेंडर का मालिकाना हक मिलता है. इस भूमिका के पास, लेखक की भूमिका की सभी अनुमतियां होती हैं. साथ ही, एसीएल में बदलाव करने की अतिरिक्त सुविधा भी होती है.
लिखा जा सकता है
scope object इस ACL नियम के तहत, कैलेंडर का ऐक्सेस कितना दिया गया है.
scope.type string दायरे का टाइप. वैल्यू इस तरह की हो सकती हैं:
  • "default" - सार्वजनिक दायरा. यह डिफ़ॉल्ट मान है.
  • "user" - इसका दायरा सिर्फ़ एक उपयोगकर्ता तक सीमित होता है.
  • "group" - यह किसी ग्रुप तक सीमित है.
  • "domain" - दायरे को किसी डोमेन तक सीमित करता है.
ध्यान दें: "default" या सार्वजनिक स्कोप के लिए दी गई अनुमतियां, पुष्टि किए गए या नहीं किए गए किसी भी उपयोगकर्ता पर लागू होती हैं.
ज़रूरी नहीं प्रॉपर्टी
scope.value string दायरे के टाइप के आधार पर, किसी उपयोगकर्ता या ग्रुप का ईमेल पता या डोमेन का नाम. "default" टाइप के लिए शामिल नहीं किया गया. लिखा जा सकता है

जवाब

अगर यह तरीका कामयाब होता है, तो यह जवाब के मुख्य हिस्से में Acl रिसॉर्स दिखाता है.

उदाहरण

ध्यान दें: इस तरीके के लिए दिए गए कोड के उदाहरणों में इसके साथ काम करने वाली सभी प्रोग्रामिंग भाषाएं नहीं दिखाई गई हैं (इसके साथ काम करने वाली भाषाओं की सूची के लिए क्लाइंट लाइब्रेरी वाला पेज देखें).

JavaPythonPHPRuby

Java क्लाइंट लाइब्रेरी का इस्तेमाल करता है.

import com.google.api.services.calendar.Calendar;
import com.google.api.services.calendar.model.AclRule;

// ...

// Initialize Calendar service with valid OAuth credentials
Calendar service = new Calendar.Builder(httpTransport, jsonFactory, credentials)
    .setApplicationName("applicationName").build();

// Create access rule with associated scope
AclRule rule = new AclRule();
Scope scope = new Scope();
scope.setType("scopeType").setValue("scopeValue");
rule.setScope(scope).setRole("role");

// Insert new access rule
AclRule createdRule = service.acl().insert('primary', rule).execute();
System.out.println(createdRule.getId());

Python क्लाइंट लाइब्रेरी का इस्तेमाल करता है.

rule = {
    'scope': {
        'type': 'scopeType',
        'value': 'scopeEmail',
    },
    'role': 'role'
}

created_rule = service.acl().insert(calendarId='primary', body=rule).execute()

print created_rule['id']

PHP क्लाइंट लाइब्रेरी का इस्तेमाल करता है.

$rule = new Google_Service_Calendar_AclRule();
$scope = new Google_Service_Calendar_AclRuleScope();

$scope->setType("scopeType");
$scope->setValue("scopeValue");
$rule->setScope($scope);
$rule->setRole("role");

$createdRule = $service->acl->insert('primary', $rule);
echo $createdRule->getId();

Ruby क्लाइंट लाइब्रेरी का इस्तेमाल करता है.

rule = Google::Apis::CalendarV3::AclRule.new(
  scope: {
    type: 'scopeType',
    value: 'scopeEmail',
  },
  role: 'role'
)
result = client.insert_acl('primary', rule)
print result.id