class_docstr: G Suite Reports base app integration. This is subclassed for various endpoints
class_docstr_tok: ["G","Suite","Reports","base","app","integration",".","This","is","subclassed","for","various","endpoints"]
docstr: Load ServiceAccountCredentials from Google service account JSON keyfile
  
  Args:
      keydata (dict): The loaded keyfile data from a Google service account
          JSON file
  
  Returns:
       google.oauth2.service_account.ServiceAccountCredentials: Instance of
          service account credentials for this discovery service
docstr_tok: ["Load","ServiceAccountCredentials","from","Google","service","account","JSON","keyfile","Args",":","keydata","(","dict",")",":","The","loaded","keyfile","data","from","a","Google","service","account","JSON","file","Returns",":","google.oauth2.service_account.ServiceAccountCredentials",":","Instance","of","service","account","credentials","for","this","discovery","service"]
code: def _load_credentials(cls, keydata):
      """Load ServiceAccountCredentials from Google service account JSON keyfile
  
      Args:
          keydata (dict): The loaded keyfile data from a Google service account
              JSON file
  
      Returns:
           google.oauth2.service_account.ServiceAccountCredentials: Instance of
              service account credentials for this discovery service
      """
      try:
          creds = service_account.Credentials.from_service_account_info(
              keydata,
              scopes=cls._SCOPES,
          )
      except (ValueError, KeyError):
          # This has the potential to raise errors. See: https://tinyurl.com/y8q5e9rm
          LOGGER.exception(
              "[%s] Could not generate credentials from keyfile",
              cls.type(),
          )
          return False
  
      return creds
  
imports: import logging
  import json
  import re
  import socket
  import ssl
  import googleapiclient.discovery
  import googleapiclient.errors
  from google.oauth2 import service_account
  from google.auth.exceptions import GoogleAuthError
  from .None import AppIntegration, StreamAlertApp, get_logger
label_desc: Use image node_id 5 for calling the GSuiteReportsApp obj's underlying member method code with example usage: obj._load_credentials(cls, keydata) and returns: creds, False