Ruby क्विकस्टार्ट

Classroom API का अनुरोध करने के लिए, रूबी कमांड ऐप्लिकेशन का एक आसान ऐप्लिकेशन बनाने के लिए, इस पेज पर बताए गए चरणों को पूरा करें.

ज़रूरी बातें

इस क्विकस्टार्ट को चलाने के लिए, आपको इन शर्तों को पूरा करना होगा:

  • डेस्कटॉप ऐप्लिकेशन के लिए अनुमति देने वाले क्रेडेंशियल. डेस्कटॉप ऐप्लिकेशन के लिए क्रेडेंशियल बनाने का तरीका जानने के लिए, क्रेडेंशियल बनाना देखें.

  • G Suite for Education खाता, जिसमें Google Classroom चालू है.

कदम 1: Google क्लाइंट लाइब्रेरी इंस्टॉल करना

लाइब्रेरी इंस्टॉल करने के लिए यह निर्देश दें:

gem install google-api-client

वैकल्पिक इंस्टॉलेशन के विकल्पों के लिए, लाइब्रेरी और #39 का इंस्टॉलेशन पेज देखें.

दूसरा चरण: सैंपल सेट अप करना

अपनी वर्किंग डायरेक्ट्री में quickstart.rb नाम की फ़ाइल बनाएं और नीचे दिए गए कोड में कॉपी करें:

Classroom/quickstart/quickstart.rb
require "google/apis/classroom_v1"
require "googleauth"
require "googleauth/stores/file_token_store"
require "fileutils"

OOB_URI = "urn:ietf:wg:oauth:2.0:oob".freeze
APPLICATION_NAME = "Classroom API Ruby Quickstart".freeze
CREDENTIALS_PATH = "credentials.json".freeze
# The file token.yaml stores the user's access and refresh tokens, and is
# created automatically when the authorization flow completes for the first
# time.
TOKEN_PATH = "token.yaml".freeze
SCOPE = Google::Apis::ClassroomV1::AUTH_CLASSROOM_COURSES_READONLY

##
# Ensure valid credentials, either by restoring from the saved credentials
# files or intitiating an OAuth2 authorization. If authorization is required,
# the user's default browser will be launched to approve the request.
#
# @return [Google::Auth::UserRefreshCredentials] OAuth2 credentials
def authorize
  client_id = Google::Auth::ClientId.from_file CREDENTIALS_PATH
  token_store = Google::Auth::Stores::FileTokenStore.new file: TOKEN_PATH
  authorizer = Google::Auth::UserAuthorizer.new client_id, SCOPE, token_store
  user_id = "default"
  credentials = authorizer.get_credentials user_id
  if credentials.nil?
    url = authorizer.get_authorization_url base_url: OOB_URI
    puts "Open the following URL in the browser and enter the " \
         "resulting code after authorization:\n" + url
    code = gets
    credentials = authorizer.get_and_store_credentials_from_code(
      user_id: user_id, code: code, base_url: OOB_URI
    )
  end
  credentials
end

# Initialize the API
service = Google::Apis::ClassroomV1::ClassroomService.new
service.client_options.application_name = APPLICATION_NAME
service.authorization = authorize

# List the first 10 courses the user has access to.
response = service.list_courses page_size: 10

puts "Courses:"
puts "No courses found" if response.courses.empty?
response.courses.each do |course|
  puts "- #{course.name} (#{course.id})"
end

तीसरा चरण: सैंपल चलाना

नीचे दिए गए निर्देश का इस्तेमाल करके नमूना चलाएं:

ruby quickstart.rb

पहली बार नमूना चलाने पर, आपको यह ऐक्सेस देने के लिए कहा जाता है:

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

    अगर आपने पहले से अपने Google खाते में साइन इन नहीं किया है, तो आपको साइन इन करने के लिए कहा जाएगा. अगर आपने एक से ज़्यादा Google खातों में साइन इन किया हुआ है, तो आपको अनुमति के लिए इस्तेमाल करने के लिए एक खाता चुनने के लिए कहा जाता है.

  2. स्वीकार करें बटन पर क्लिक करें.
  3. नमूना अपने-आप आगे बढ़ जाता है और आप विंडो/टैब बंद कर सकते हैं.

नोट

  • अनुमति देने की जानकारी फ़ाइल सिस्टम पर सेव की जाती है. इसलिए, बाद की कार्रवाइयों में अनुमति के लिए #39;नहीं होता है.
  • इस उदाहरण में ऑथराइज़ेशन फ़्लो को कमांड-लाइन ऐप्लिकेशन के लिए डिज़ाइन किया गया है. वेब ऐप्लिकेशन में अनुमति देने के तरीके के बारे में जानकारी के लिए, वेब सर्वर ऐप्लिकेशन के लिए OAuth 2.0 का इस्तेमाल करना देखें.

समस्याओं को हल करना

इस सेक्शन में कुछ ऐसी समस्याओं के बारे में बताया गया है जो आपको इस क्विकस्टार्ट प्रोसेस को चलाने में हो सकती हैं.

This app isn't verified

अगर OAuth के लिए सहमति वाली स्क्रीन पर चेतावनी दिखती है, तो इस ऐप्लिकेशन की पुष्टि #&930 नहीं होती. साथ ही, आपका ऐप्लिकेशन ऐसे दायरे का अनुरोध कर रहा है जो उपयोगकर्ता के संवेदनशील डेटा को ऐक्सेस करते हैं. अगर आपका ऐप्लिकेशन संवेदनशील दायरों का इस्तेमाल करता है, तो उस चेतावनी और दूसरी सीमाओं को हटाने के लिए आपके ऐप्लिकेशन को पुष्टि की प्रक्रिया से गुज़रना होगा. डेवलपमेंट के दौरान, आप बेहतर > {Project Name} पर जाएं (असुरक्षित) चुनकर इस चेतावनी को जारी रख सकते हैं.

File not found error for credentials.json

नमूना चलाने पर, आपको कोई फ़ाइल नहीं मिली या क्रेडेंशियल.json के बारे में ऐसी कोई गड़बड़ी नहीं मिल सकती.

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

क्रेडेंशियल बनाने के बाद, पक्का करें कि डाउनलोड की गई JSON फ़ाइल credentials.json के तौर पर सेव हो. फिर फ़ाइल को बाकी नमूना नमूने के साथ अपनी काम करने वाली निर्देशिका में ले जाएं.

इसके बारे में और पढ़ें

इस क्विकस्टार्ट में इस्तेमाल किए गए एपीआई के बारे में ज़्यादा जानकारी के लिए, GitHub का google-api-ruyby-क्लाइंट सेक्शन देखें