当前位置: 首页>>代码示例>>Scala>>正文


Scala GoogleCredential类代码示例

本文整理汇总了Scala中com.google.api.client.googleapis.auth.oauth2.GoogleCredential的典型用法代码示例。如果您正苦于以下问题:Scala GoogleCredential类的具体用法?Scala GoogleCredential怎么用?Scala GoogleCredential使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了GoogleCredential类的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Scala代码示例。

示例1: HttpInitializer

//设置package包名称以及导入依赖的类
package mn.clarkson.google.pubsub

import com.google.api.client.googleapis.auth.oauth2.GoogleCredential
import com.google.api.client.http._
import java.io.IOException

import com.google.api.client.util.{ExponentialBackOff, Sleeper};


class HttpInitializer(credentials: GoogleCredential) extends HttpRequestInitializer {
  def initialize(request: HttpRequest) = {
    request.setReadTimeout(2 * 60 * 1000)
    request.setInterceptor(credentials)
    val backoff = new HttpBackOffUnsuccessfulResponseHandler(
      new ExponentialBackOff())
      .setSleeper(Sleeper.DEFAULT);
    request.setUnsuccessfulResponseHandler(
      new HttpUnsuccessfulResponseHandler() {
        def handleResponse(request: HttpRequest, response: HttpResponse,
          supportsRetry: Boolean): Boolean = {
          if (credentials.handleResponse(
            request, response, supportsRetry)) {
            true
          } else if (backoff.handleResponse(request, response, supportsRetry)) {
            true
          } else {
            false
          }
        }
      }
    )
    request.setIOExceptionHandler(
      new HttpBackOffIOExceptionHandler(new ExponentialBackOff())
        .setSleeper(Sleeper.DEFAULT))
  }

} 
开发者ID:andrewclarkson,项目名称:scala-google-pubsub,代码行数:38,代码来源:HttpInitializer.scala

示例2: Googlemonitoringapiworks

//设置package包名称以及导入依赖的类
package com.berkgokden

import com.google.api.client.googleapis.auth.oauth2.GoogleCredential
import com.google.api.client.http.javanet.NetHttpTransport
import com.google.api.client.json.jackson2.JacksonFactory
import com.google.api.services.monitoring.v3.{Monitoring, MonitoringScopes}

object Googlemonitoringapiworks extends App {
  println("Hello, google-monitoring-api-works")

  val project = "your-project-name" // you should have one on google.
  val projectResource = "projects/" + project

  // Grab the Application Default Credentials from the environment.
  // Download authentication json form Google Cloud and Put conf.json into resources folder!
  val resourceAsStream = getClass.getResourceAsStream("/conf.json")
  println("ok")
  val credential = GoogleCredential.fromStream(resourceAsStream)
    .createScoped(MonitoringScopes.all())

  println(credential.getServiceAccountId) // this only works if you have a service account

  // Create and return the CloudMonitoring service object
  val httpTransport = new NetHttpTransport()
  val jsonFactory = new JacksonFactory()
  val service = new Monitoring.Builder(httpTransport,
    jsonFactory, credential)
    .setApplicationName("Monitoring Sample")
    .build()

  val res = service.projects().metricDescriptors().list(projectResource).execute()
  println(res.toPrettyString)
} 
开发者ID:bgokden,项目名称:google-monitoring-api-works,代码行数:34,代码来源:Googlemonitoringapiworks.scala

示例3: Helper

//设置package包名称以及导入依赖的类
package io.taig.sbt.googleplay

import java.io.File

import com.google.api.client.googleapis.auth.oauth2.GoogleCredential
import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport
import com.google.api.client.json.jackson2.JacksonFactory
import com.google.api.services.androidpublisher.{ AndroidPublisher, AndroidPublisherScopes }

import scala.collection.JavaConversions._

object Helper {
    lazy val HttpTransport = GoogleNetHttpTransport.newTrustedTransport

    lazy val JsonFactory = JacksonFactory.getDefaultInstance

    def authorize( applicationName: String, serviceAccount: String, serviceAccountPrivateKey: File ): AndroidPublisher = {
        val credentials = new GoogleCredential.Builder()
            .setTransport( HttpTransport )
            .setJsonFactory( JsonFactory )
            .setServiceAccountId( serviceAccount )
            .setServiceAccountScopes( List( AndroidPublisherScopes.ANDROIDPUBLISHER ) )
            .setServiceAccountPrivateKeyFromP12File( serviceAccountPrivateKey )
            .build

        new AndroidPublisher.Builder( HttpTransport, JsonFactory, credentials )
            .setApplicationName( applicationName )
            .build
    }
} 
开发者ID:Taig,项目名称:sbt-googleplay,代码行数:31,代码来源:Helper.scala

示例4: Hello

//设置package包名称以及导入依赖的类
package com.ru.waka

import java.io.File
import java.net.URL

import com.google.api.client.googleapis.auth.oauth2.GoogleCredential
import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport
import com.google.api.client.json.jackson2.JacksonFactory
import com.google.gdata.client.spreadsheet.SpreadsheetService
import com.google.gdata.data.Feed
import com.google.gdata.data.docs.SpreadsheetEntry
import com.google.gdata.data.spreadsheet.SpreadsheetFeed

import scala.collection.JavaConverters._

object Hello {
  private val jsonFactory = new JacksonFactory

  private val transport = GoogleNetHttpTransport.newTrustedTransport()

  private val service   = new SpreadsheetService(this.getClass.getName)

  private val scopes  = Seq(
    "https://www.googleapis.com/auth/drive.file",
    "https://www.googleapis.com/auth/userinfo.email",
    "https://www.googleapis.com/auth/userinfo.profile",
    "https://docs.google.com/feeds",
    "https://spreadsheets.google.com/feeds"
  ).asJava

  def main (args: Array[String] ) {
    val c = new GoogleCredential.Builder()
      .setTransport(transport)
      .setJsonFactory(jsonFactory)
      .setServiceAccountId("[email protected]")
      .setServiceAccountPrivateKeyFromP12File(new File("./hubot-dark-6e8b3857b0b0.p12"))
      .setServiceAccountScopes(scopes)
      .build()

    c.refreshToken()
    service.setOAuth2Credentials(c)
    val e = service.getFeed(new URL("https://spreadsheets.google.com/feeds/spreadsheets/private/full"), classOf[SpreadsheetFeed])
    println(e.getAuthors)
    println(e.getTitle.getPlainText)
  }
} 
开发者ID:ara-ta3,项目名称:googlespreadsheet-sample,代码行数:47,代码来源:Hello.scala

示例5: DefaultSource

//设置package包名称以及导入依赖的类
package com.logicstack.spark

import com.google.api.client.googleapis.auth.oauth2.GoogleCredential
import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport
import com.google.api.client.json.jackson2.JacksonFactory
import com.google.api.services.analyticsreporting.v4.AnalyticsReporting
import org.apache.spark.sql.SQLContext
import org.apache.spark.sql.sources.{BaseRelation, RelationProvider, SchemaRelationProvider}
import org.apache.spark.sql.types.StructType

class DefaultSource extends SchemaRelationProvider {
  private val httpTransport = GoogleNetHttpTransport.newTrustedTransport
  private val jsonFactory = JacksonFactory.getDefaultInstance


  override def createRelation(sqlContext: SQLContext, parameters: Map[String, String], schema: StructType): ReportRelation = {
    val clientId = parameters("clientId")
    val clientSecret = parameters("clientSecret")
    val accessToken = parameters("accessToken")
    val refreshToken = parameters("refreshToken")

    val credential = new GoogleCredential.Builder()
      .setJsonFactory(jsonFactory)
      .setTransport(httpTransport)
      .setClientSecrets(clientId, clientSecret)
      .build()
      .setAccessToken(accessToken)
      .setRefreshToken(refreshToken)

    val analyticsReporting = new AnalyticsReporting.Builder(httpTransport, jsonFactory, credential)
      .setApplicationName("spark-ga")
      .build()

    new ReportRelation(
      analyticsReporting,
      parameters("profile"),
      parameters("startDate"),
      parameters("endDate"),
      schema
    )(sqlContext)
  }

} 
开发者ID:logicstack,项目名称:spark-ga,代码行数:44,代码来源:DefaultSource.scala

示例6: googleAuthConfig

//设置package包名称以及导入依赖的类
package components

import java.io.ByteArrayInputStream
import java.nio.charset.StandardCharsets

import com.gu.googleauth.{GoogleAuthConfig, GoogleGroupChecker, GoogleServiceAccount}
import controllers.GroupsAuthConfig
import play.api.Logger

import scala.collection.JavaConverters._

trait GoogleAuthComponents { self: ConfigUtil =>

  def googleAuthConfig = GoogleAuthConfig(
    clientId = mandatoryConfig("google.clientId"),
    clientSecret = mandatoryConfig("google.clientSecret"),
    redirectUrl = mandatoryConfig("google.redirectUrl"),
    domain = "ovoenergy.com"
  )

  def groupsAuthConfig: Option[GroupsAuthConfig] = {
    if (configuration.getBoolean("google.groupsAuthorisation.enabled").getOrElse(false)) {
      val acceptedGroups = configuration
        .getStringList("google.groupsAuthorisation.acceptedGroups")
        .map(_.asScala.toSet)
        .getOrElse(Set.empty)

      val serviceAccount = {
        import com.google.api.client.googleapis.auth.oauth2.GoogleCredential

        val credentials: GoogleCredential = {
          val json = mandatoryConfig("google.groupsAuthorisation.serviceAccountCreds")
          GoogleCredential.fromStream(new ByteArrayInputStream(json.getBytes(StandardCharsets.UTF_8)))
        }

        GoogleServiceAccount(
          email = credentials.getServiceAccountId,
          privateKey = credentials.getServiceAccountPrivateKey,
          impersonatedUser = mandatoryConfig("google.groupsAuthorisation.impersonatedUser")
        )
      }

      val groupChecker = new GoogleGroupChecker(serviceAccount)

      Logger.info("Google Groups authorisation is ENABLED")
      Some(GroupsAuthConfig(acceptedGroups, groupChecker))
    } else {
      Logger.info("Google Groups authorisation is DISABLED")
      None
    }
  }

} 
开发者ID:ovotech,项目名称:comms-audit-log,代码行数:54,代码来源:GoogleAuthComponents.scala

示例7: OcrTest

//设置package包名称以及导入依赖的类
import java.io.FileInputStream
import java.io.File

import com.google.api.client.googleapis.auth.oauth2.GoogleCredential
import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport
import com.google.api.client.json.jackson2.JacksonFactory
import com.google.api.services.vision.v1.model._
import com.google.api.services.vision.v1.{Vision, VisionScopes}
import com.google.common.collect.ImmutableList
import java.nio.file.{Files}

import ocr.model.OcrTextAnnotation

object OcrTest {

  def main2(args: Array[String]): Unit = {
    val credential =
      GoogleCredential
        .fromStream(new FileInputStream(new File("/home/leonti/development/google-cloud/Receipts-dev-ocr-service-account.json")))
        .createScoped(VisionScopes.all())

    val jsonFactory = JacksonFactory.getDefaultInstance
    val vision = new Vision.Builder(GoogleNetHttpTransport.newTrustedTransport(), jsonFactory, credential)
      .setApplicationName("Receipts")
      .build()

    val requests: ImmutableList.Builder[AnnotateImageRequest] = ImmutableList.builder()

    requests.add(
      new AnnotateImageRequest()
        .setImage(
          new Image().encodeContent(Files.readAllBytes(new File("/home/leonti/development/document-scanner/images/7.jpg").toPath)))
        .setFeatures(ImmutableList.of(new Feature()
          .setType("TEXT_DETECTION")
          .setMaxResults(100))))

    val annotate =
      vision
        .images()
        .annotate(new BatchAnnotateImagesRequest().setRequests(requests.build()))
    // Due to a bug: requests to Vision API containing large images fail when GZipped.
    annotate.setDisableGZipContent(true)
    val batchResponse = annotate.execute()

    val response = batchResponse.getResponses().get(0)

    val annotations = response.getTextAnnotations

    println(response.getFullTextAnnotation.toPrettyString)
    val fullAnnotation = OcrTextAnnotation.fromTextAnnotation(response.getFullTextAnnotation)

    println(fullAnnotation)
  }

} 
开发者ID:Leonti,项目名称:receipts-rest-service,代码行数:56,代码来源:OcrTest.scala

示例8: BigQueryClient

//设置package包名称以及导入依赖的类
package com.example.prodspark.client

import java.io.IOException

import com.example.prodspark.util.RetryUtil
import com.google.api.client.googleapis.auth.oauth2.GoogleCredential
import com.google.api.client.http.javanet.NetHttpTransport
import com.google.api.client.json.jackson2.JacksonFactory
import com.google.api.services.bigquery.{Bigquery, BigqueryScopes}
import com.google.api.services.bigquery.model._
import com.google.cloud.hadoop.io.bigquery.BigQueryStrings
import org.slf4j.LoggerFactory

import scala.collection.JavaConverters._

object BigQueryClient {
  private val SCOPES = List(BigqueryScopes.BIGQUERY).asJava

  private val bigquery: Bigquery = {
    val credential = GoogleCredential.getApplicationDefault.createScoped(SCOPES)
    new Bigquery.Builder(new NetHttpTransport, new JacksonFactory, credential)
      .setApplicationName("spark-bigquery")
      .build()
  }

  
  def streamingInsert(
    rows: Seq[TableDataInsertAllRequest.Rows],
    tableSpec: String,
    projectId: String
  ): Unit = {
    lazy val tableRef = BigQueryStrings.parseTableReference(tableSpec)

    val req = new TableDataInsertAllRequest()
      .setRows(rows.asJava)
      .setIgnoreUnknownValues(true)

    RetryUtil.retry(3) {
      val response = insertAll(tableRef, req)
      if (response.getInsertErrors != null) {
        log.error("Error inserting into BigQuery: " + response.getInsertErrors.toString)
        throw new IOException(response.getInsertErrors.toString)
      }
    }
  }

  private val log = LoggerFactory.getLogger(this.getClass)
} 
开发者ID:rvenkatesh25,项目名称:spark-streaming-gcp,代码行数:49,代码来源:BigQueryClient.scala

示例9: FilePathCredentials

//设置package包名称以及导入依赖的类
package mn.clarkson.google

import java.io.FileInputStream

import com.google.api.client.googleapis.auth.oauth2.GoogleCredential
import com.google.api.services.pubsub.model.PubsubMessage

package object pubsub extends  {
  implicit class FilePathCredentials(path: String) extends Credentials {
    def build(): GoogleCredential = {
      GoogleCredential.fromStream(new FileInputStream(path))
    }
  }

  implicit class DefaultCredentials(unit: Unit) extends Credentials {
    def build(): GoogleCredential = GoogleCredential.getApplicationDefault
  }

  implicit class IdentityCredentials(credentials: GoogleCredential) extends Credentials {
    def build(): GoogleCredential = credentials
  }

  implicit class ByteMessage(data: Array[Byte]) extends Messages {
    def toMessage: Seq[PubsubMessage] = Seq(new PubsubMessage().encodeData(data))
  }

  implicit class ByteMessages(data: Seq[Array[Byte]]) extends Messages {
    def toMessage: Seq[PubsubMessage] = data.map(new PubsubMessage().encodeData)
  }

  implicit class StringMessage(data: String) extends Messages {
    def toMessage: Seq[PubsubMessage] = Seq(new PubsubMessage().encodeData(data.getBytes))
  }

  implicit class StringMessages(data: Seq[String]) extends Messages {
    def toMessage: Seq[PubsubMessage] = data.map(_.getBytes).map(new PubsubMessage().encodeData)
  }

  implicit class PubSubMessage(data: PubsubMessage) extends Messages {
    def toMessage: Seq[PubsubMessage] = Seq(data)
  }

  implicit class PubSubMessages(data: Seq[PubsubMessage]) extends Messages {
    def toMessage: Seq[PubsubMessage] = data
  }
} 
开发者ID:andrewclarkson,项目名称:scala-google-pubsub,代码行数:47,代码来源:package.scala

示例10: GoogleContainerEngine

//设置package包名称以及导入依赖的类
package io.incube.blue

import java.io.ByteArrayInputStream

import com.google.api.client.googleapis.auth.oauth2.GoogleCredential
import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport
import com.google.api.client.http.{HttpRequest, HttpRequestInitializer}
import com.google.api.client.json.jackson2.JacksonFactory
import com.google.api.services.container.{Container, ContainerScopes}

object GoogleContainerEngine {
  val jsonFactory = JacksonFactory.getDefaultInstance
  val httpTransport = GoogleNetHttpTransport.newTrustedTransport() //TODO: handle exceptions

  //TODO: abstract this away
  val serviceAccount = new ByteArrayInputStream("{\n  \"type\": \"service_account\",\n  \"project_id\": \"gcp-client-0\",\n  \"private_key_id\": \"5b5a03aab0c47c9d200fe660b716341a38030b93\",\n  \"private_key\": \"-----BEGIN PRIVATE KEY-----\\nMIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC1kmgkZowaxW0t\\nP3httySW6Fc3qCIboJhpaoCPnesPrWQhNR7cpJjauwxqzr6Di7O7fbRC7Y4e9Bjv\\nclD1vK2U842ZLREkMaFG7RMi2lMtmzJlsYyEP/BEHe/YxqjrxtlaH9KeVCwTpzWl\\nttpaXxNsF2jc6EQT/vuYBS2ru9tJGrfh+i+6ILlPMQhXw/tcea7phbGPAWI4ZFcY\\nMpAtn0Jf4h6GNs6CfrMzOQqwY8OEmDqZZDmN1uwYTzbEokYcSx+Emji/3h7KEKGk\\nZ/72/zHQDkK43JtrrIvz1yuzsgmct1qA3RuygQujf7GDZ8TkAPAxp+/Q//nw9VQw\\nHOSBVepHAgMBAAECggEBAKAEaE10JpNNXLtczWh71/46wuqk/XI1pTx6BNUNCmTl\\nnXH6m7k+Qgu6fuX+UD4kN4DL9rppGzBCVVto9tqqrpuvzSGqawnnx0d3lb7IhDeU\\nJ+UhhUHkC34sl/0Gj0ZDF7hqhTbN3Y5wdUIXFPZCBh7jvqG4/I5W0CoYnjhUNZyF\\nOHe1wvOTph5/pddZkurs+0XWeC1y68AqryoOlWc8T54SiHOeuEssVsJLKiP9+1a5\\n7DKKQYyFZHdf/ftbIOUnbG9decFlUQGN1T23S/pOKCEHde9nEc6f1U/Uuer0KLz+\\niJuz2gCNTdaOG1BSKcrijiiVxClDcl8snT+rEbvfgekCgYEA16ottqNlPV2/sg2D\\nTlxdyBYWwDjooKTxb9mf6FwDMzHhZ7WekRqBjuATgXoItWKJaIg3cAtNFmeUSofk\\nuoV/l9VsL3lt6M1wvhjXcODAwLztcNsh5XPl96iaxdp+uE4F0LrTHHHwJPzhHYiW\\nbG2JUA7HX05FSuGWTCUKwhf6zIsCgYEA14flGurU4gh5bLRbbafCVyf1rXkHGMO8\\nzXisZGmGk4dC1FDiXfnGe3d4XbZhKDgCnl2vNGEuQxz2RmYbb1X+EvagH+31jEJH\\npVWjXgmTXALk7y2OYb7W0vyZ6JUYy7O11bwAjHBc/wwV2V3TZbFye9ov0PdIzgNO\\nb02BkRH3ZLUCgYAGziPrI3TKXu7xm2ONUXTUH35QSntstke4E9Hr7xtavjQypZR/\\nV6rG62MyLrufnaBgYAv/yRuBnXscbvVUvWmtTNrBFL/XHMR1+yqxMSZj7pI/gWqs\\nZt/W1MctfxuIjU25rGuE9kNxp1kjKXA1s68li5HW/A1Ls5qehHy2azNKyQKBgQCy\\nBfljBlzYZo+FDmQGau7G9qaiprkJ54NnZClgtxkFek/k9vpDDTC4grHVFfOiOMFQ\\n9ajl5u9DWATDmUtH5wt5tmQEe5S6SXTMR7Qs1FP3SBy4wjQ84Fio5SRrS9uzRbkH\\n1cXOOnFV6TGS3UDjWnJpgorEW7yzDWAX5zkCDoj9kQKBgHPzaKbywanRmNtEKH8k\\nL7F2Xux8TstRv/kFqiGSIWuxRVP/0zcKRCpGtQsceYcJGbCwD15D8oOnA9FcVYw8\\nM+pHf+eXZJldJHX8Kiegmv1ZsDd9a2rKiZGNlmnh9wjc/lsHrcCu539TNu/beXNH\\naJUIF4V+GHDuPhQciDmEhM3y\\n-----END PRIVATE KEY-----\\n\",\n  \"client_email\": \"[email protected]\",\n  \"client_id\": \"100218978202688694903\",\n  \"auth_uri\": \"https://accounts.google.com/o/oauth2/auth\",\n  \"token_uri\": \"https://accounts.google.com/o/oauth2/token\",\n  \"auth_provider_x509_cert_url\": \"https://www.googleapis.com/oauth2/v1/certs\",\n  \"client_x509_cert_url\": \"https://www.googleapis.com/robot/v1/metadata/x509/postman%40gcp-client-0.iam.gserviceaccount.com\"\n}".getBytes)

  final private val container = new Container(httpTransport, jsonFactory, new HttpRequestInitializer {
    override def initialize(request: HttpRequest): Unit = {
      GoogleCredential.fromStream(serviceAccount).createScoped(ContainerScopes.all).initialize(request)
    }
  })

  def instance = container
} 
开发者ID:incube-io,项目名称:blue,代码行数:26,代码来源:GoogleContainerEngine.scala


注:本文中的com.google.api.client.googleapis.auth.oauth2.GoogleCredential类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。