झलक दिखाने वाले एपीआई ऐक्सेस करें

इस पेज पर बताया गया है कि Classroom API की झलक देखने की सुविधाओं को कैसे ऐक्सेस किया जा सकता है और झलक के वर्शन तय करें.

स्टेबल वर्शन की तुलना में, झलक देखने की सुविधाओं का इस्तेमाल करते समय इन दो बातों का ध्यान रखें v1 एपीआई:

  1. रिलीज़ होने से पहले इस्तेमाल के लिए उपलब्ध या प्रीव्यू प्रोग्राम के लिए, एपीआई की सुविधाओं को स्टैंडर्ड क्लाइंट लाइब्रेरी का इस्तेमाल किया जाता है और हो सकता है कि एचटीटीपी पर डिफ़ॉल्ट रूप से इसे ऐक्सेस न किया जा सके.
  2. एक समय में एक से ज़्यादा एपीआई की स्थिति या वर्शन झलक देखें.

क्लाइंट लाइब्रेरी में झलक की सुविधाएं चालू करें

आम तौर पर, क्लाइंट लाइब्रेरी का इस्तेमाल करके Classroom API का इस्तेमाल किया जा सकता है. यह लीजिए क्लाइंट लाइब्रेरी तीन तरह की होती हैं:

  1. डाइनैमिक रूप से जनरेट की गई क्लाइंट लाइब्रेरी
  2. Google की ओर से दी गई स्टैटिक क्लाइंट लाइब्रेरी
  3. आपकी अपनी कस्टम क्लाइंट लाइब्रेरी

डाइनैमिक रूप से जनरेट की गई या Google से मिली स्टैटिक लाइब्रेरी का इस्तेमाल करना में एपीआई इस्तेमाल करने का सुझाव दिया जाता है. अगर आपको ज़रूरत हो, तो क्लाइंट लाइब्रेरी बनाना देखें तो अपनी लाइब्रेरी बनाएं. अपनी लाइब्रेरी बनाना इस दायरे से बाहर है गाइड की मदद से, डाइनैमिक लाइब्रेरी सेक्शन में जाकर लेबल और डिस्कवरी में उनकी भूमिका की झलक देख सकते हैं.

डाइनैमिक लाइब्रेरी

Python जैसी भाषाओं की लाइब्रेरी, रनटाइम के दौरान क्लाइंट लाइब्रेरी जनरेट करने के लिए इनका इस्तेमाल करती हैं डिस्कवरी सेवा का एक डिस्कवरी दस्तावेज़.

खोज दस्तावेज़ एक ऐसा ब्यौरा है जिसे मशीन आसानी से पढ़ सकती है. REST API का इस्तेमाल करने वाला. इसका इस्तेमाल क्लाइंट लाइब्रेरी बनाने, IDE प्लगिन, और Google API के साथ इंटरैक्ट करने वाले अन्य टूल. एक सेवा कई तरह के काम कर सकती है खोज दस्तावेज़.

Classroom API सेवा (classroom.googleapis.com) के लिए खोज से जुड़े दस्तावेज़ इसे नीचे दिए गए एंडपॉइंट पर देखा जा सकता है:

https://classroom.googleapis.com/$discovery/rest?labels=PREVIEW_LABEL&version=v1&key=API_KEY

प्रीव्यू एपीआई के साथ काम करने के लिए अहम अंतर यह है कि सही label. Classroom की सार्वजनिक झलक के लिए, वह लेबल DEVELOPER_PREVIEW.

Python लाइब्रेरी जनरेट करने और Classroom सेवा को इंस्टैंशिएट करने के लिए तरीकों का इस्तेमाल करके, डिस्कवरी यूआरएल को सही सेवा के साथ बताया जा सकता है, क्रेडेंशियल और लेबल:

classroom_service_with_preview_features = googleapiclient.discovery.build(
  serviceName='classroom',
  version='v1',
  credentials=credentials,
  static_discovery=False,
  discoveryServiceUrl='https://classroom.googleapis.com/$discovery/rest?labels=DEVELOPER_PREVIEW&key=API_KEY)'

हर क्लाइंट की जानकारी पाने के लिए, Google API के क्लाइंट लाइब्रेरी से जुड़े दस्तावेज़ देखें भाषा.

स्टैटिक लाइब्रेरी

Java, Node.js, PHP, C#, और Go जैसी भाषाओं में क्लाइंट लाइब्रेरी होनी चाहिए सोर्स से. ये लाइब्रेरी आपके लिए उपलब्ध कराई गई हैं. इनमें झलक देखने के लिए सुविधाएं शामिल हैं पहले से शामिल है.

सार्वजनिक झलक के लिए, Classroom की क्लाइंट लाइब्रेरी एक-दूसरे के साथ मिल सकती हैं Workspace Developer Preview Program की क्लाइंट लाइब्रेरी. निजी झलक के लिए, अगर आपको स्टैटिक लाइब्रेरी जनरेट करने हैं, तो अपने Google प्रतिनिधि से संपर्क करें.

इनका इस्तेमाल करने के लिए, आपको अपने सामान्य डिपेंडेंसी कॉन्फ़िगरेशन में बदलाव करना पड़ सकता है के बजाय स्टैंडर्ड क्लाइंट लाइब्रेरी इंपोर्ट करें. इन लाइब्रेरी से, सुविधा का इस्तेमाल करके कॉन्टेंट देखा जा सकता है.

उदाहरण के लिए, Go क्लाइंट लाइब्रेरी का इस्तेमाल करने के लिए, आपको replace का इस्तेमाल करना होगा लोकल डायरेक्ट्री से मॉड्यूल की ज़रूरत करने के लिए, आपकी go.mod फ़ाइल में डायरेक्टिव:

module example.com/app

go 1.21.1

require (
    golang.org/x/oauth2 v0.12.0
    google.golang.org/api v0.139.0 // Classroom library is in here.
)

require (
  ...
)

// Use a local copy of the Go client library.
replace google.golang.org/api v0.139.0 => ../google-api-go-client

एक और उदाहरण के तौर पर, अगर Node.js और npm का इस्तेमाल किया जा रहा है, तो Node.js क्लाइंट जोड़ें लाइब्रेरी डाउनलोड (googleapis-classroom-1.0.4.tgz) में, लोकल डिपेंडेंसी के तौर पर package.json:

{
  "name": "nodejs-classroom-example",
  "version": "1.0.0",
  ...
  "dependencies": {
    "@google-cloud/local-auth": "^2.1.0",
    "googleapis": "^95.0.0",
    "classroom-with-preview-features": "file:./googleapis-classroom-1.0.4.tgz"
  }
}

इसके बाद, अपने ऐप्लिकेशन में classroom-with-preview-features मॉड्यूल को ज़रूरी बनाएं साथ ही, सामान्य डिपेंडेंसी के अलावा classroom सेवा को इंस्टैंशिएट करें इस मॉड्यूल से:

const {authenticate} = require('@google-cloud/local-auth');
const {google} = require('googleapis');
const classroomWithPreviewFeatures = require('classroom-with-preview-features');

...

const classroom = classroomWithPreviewFeatures.classroom({
  version: 'v1',
  auth: auth,
});

...

प्रीव्यू एपीआई वर्शन तय करें

आप स्थिर या डायनैमिक लाइब्रेरी का इस्तेमाल करें, इसके बावजूद आपको प्रीव्यू वर्शन का इस्तेमाल करें.

अलग-अलग वर्शन और उनमें शामिल सुविधाओं के बारे में जानकारी दी गई है Classroom API रोडमैप में बताया गया है. तरीकों और फ़ील्ड में यह भी बताया जाता है कि तरीका या फ़ील्ड किस वर्शन में उपलब्ध है.

अनुरोधों में PreviewVersion फ़ील्ड सेट करके वर्शन तय किया जाता है. उदाहरण के लिए, Rubrics CRUD Preview API की मदद से रूब्रिक बनाने के लिए, बनाएं अनुरोध में previewVersion से V1_20231110_PREVIEW:

rubric = service.courses().courseWork().rubrics().create(
            courseId=course_id,
            courseWorkId=coursework_id,
            # Specify the preview version. Rubrics CRUD capabilities are
            # supported in V1_20231110_PREVIEW and later.
            previewVersion="V1_20231110_PREVIEW",
            body=body
).execute()

झलक देखने के तरीके से जुड़े कॉल में ये भी शामिल होते हैं previewVersion का इस्तेमाल, कॉल में रीड-ओनली फ़ील्ड के तौर पर किया गया है. इससे आपको समझने में मदद मिलेगी इस्तेमाल किया जा रहा है. उदाहरण के लिए, पिछले CREATE से मिला जवाब कॉल में V1_20231110_PREVIEW मान शामिल है:

print(json.dumps(rubric, indent=4))
{
  "courseId": "123",
  "courseWorkId": "456",
  "creationTime": "2023-10-23T18:18:29.932Z",
  "updateTime": "2023-10-23T18:18:29.932Z",
  "id": "789",
  "criteria": [...],
  # The preview version used in the call that returned this resource.
  "previewVersion": "V1_20231110_PREVIEW",
  ...
}

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

सीधे एचटीटीपी के साथ, Classroom API का इस्तेमाल भी किया जा सकता है.

अगर क्लाइंट लाइब्रेरी के बिना एचटीटीपी अनुरोध किए जाते हैं, तब भी आपको यह सुविधा झलक के तौर पर उपलब्ध वर्शन के बारे में बताती है. ऐसा label को सेट करके किया जाता है X-Goog-Visibilities हेडर और ऊपर दिए गए झलक वर्शन के साथ या तो क्वेरी पैरामीटर या POST बॉडी फ़ील्ड (सही व्यक्तिगत API देखें संदर्भ दस्तावेज़). सार्वजनिक झलक के लिए, लेबल DEVELOPER_PREVIEW है.

उदाहरण के लिए, नीचे दिया गया कर्ल अनुरोध रूब्रिक सेवा को LIST कॉल करता है लेबल और झलक के सही वर्शन के साथ:

curl \
  'https://classroom.googleapis.com/v1/courses/COURSE_ID/courseWork/COURSE_WORK_ID/rubrics?key=API_KEY&previewVersion=V1_20231110_PREVIEW' \
  --header 'X-Goog-Visibilities: DEVELOPER_PREVIEW' \
  --header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
  --header 'Accept: application/json' \
  --compressed

अनुरोध के मुख्य हिस्से में झलक वाला वर्शन भी बताया जा सकता है. उदाहरण के लिए, जब पोस्ट करने के लिए अनुरोध करना:

curl --request PATCH \
  'https://classroom.googleapis.com/v1/courses/COURSE_ID/courseWork/COURSE_WORK_ID/rubrics/RUBRIC_ID?updateMask=criteria&key=API_KEY&previewVersion=V1_20231110_PREVIEW' \
  --header 'X-Goog-Visibilities: DEVELOPER_PREVIEW' \
  --header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --data '{"criteria":"[...]"}' \
  --compressed

हर एचटीटीपी अनुरोध के एपीआई के बारे में, REST दस्तावेज़ में बताया गया है.