| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- /*
- * Copyright 2017, gRPC Authors All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- import Foundation
- import gRPC
- import OAuth2
- let scopes = ["https://www.googleapis.com/auth/datastore"]
- if let provider = DefaultTokenProvider(scopes:scopes) {
- let sem = DispatchSemaphore(value: 0)
- try provider.withToken() {(token, error) -> Void in
- if let token = token {
- gRPC.initialize()
- guard let authToken = token.AccessToken else {
- print("ERROR: No OAuth token is available.")
- exit(-1)
- }
- let projectID = "your-project-identifier"
- let certificateURL = URL(fileURLWithPath:"roots.pem")
- let certificates = try! String(contentsOf: certificateURL, encoding: .utf8)
- let service = Google_Datastore_V1_DatastoreService(address:"datastore.googleapis.com",
- certificates:certificates,
- host:nil)
- service.metadata = Metadata(["authorization":"Bearer " + authToken])
- var request = Google_Datastore_V1_RunQueryRequest()
- request.projectID = projectID
- var query = Google_Datastore_V1_GqlQuery()
- query.queryString = "select *"
- request.gqlQuery = query
- print("\(request)")
- do {
- let result = try service.runquery(request)
- print("\(result)")
- } catch (let error) {
- print("ERROR: \(error)")
- }
- }
- if let error = error {
- print("ERROR \(error)")
- }
- sem.signal()
- }
- _ = sem.wait(timeout: DispatchTime.distantFuture)
- } else {
- print("Unable to create default token provider.")
- }
|