我想在內部調用BigQuery的GAE上運行cron作業。用GAE在Java中編寫Cron作業以運行BigQuery
我目前能夠運行BigQuery,但我需要使用我的憑據登錄。但是我想在沒有任何登錄的情況下運行BigQuery的cron作業。
任何幫助將不勝感激。
我想在內部調用BigQuery的GAE上運行cron作業。用GAE在Java中編寫Cron作業以運行BigQuery
我目前能夠運行BigQuery,但我需要使用我的憑據登錄。但是我想在沒有任何登錄的情況下運行BigQuery的cron作業。
任何幫助將不勝感激。
我能夠成功地實現它在java.Before執行它,我們需要生成服務帳戶客戶端ID。
private static final HttpTransport TRANSPORT = new NetHttpTransport();
private static final JsonFactory JSON_FACTORY = new JacksonFactory();
private static Bigquery bigquery;
AppIdentityCredential credential = new AppIdentityCredential(Collections.singleton(BigqueryScopes.BIGQUERY));
bigquery = new Bigquery.Builder(TRANSPORT, JSON_FACTORY, credential)
.setApplicationName("BigQuery-Service-Accounts/0.1")
.setHttpRequestInitializer(credential).build();
我知道這不是你期待的java。祕訣是使用AppAssertionCredentials。 這裏是Python示例:
from apiclient.discovery import build
from oauth2client.appengine import AppAssertionCredentials
import httplib2
from google.appengine.api import memcache
scope = 'https://www.googleapis.com/auth/bigquery'
credentials = AppAssertionCredentials(scope=scope)
http = credentials.authorize(httplib2.Http(memcache))
return build("bigquery", "v2", http=http)
是否有可能爲此給出java代碼。我嘗試了大部分的東西,但仍然無法完成它。 – Innovation
這裏是相關任務的java文檔:http://javadoc.google-oauth-java-client.googlecode.com/hg/1.6.0-beta/com/google/api/client/extensions/auth/helpers /appengine/AppAssertionCredential.html –
您需要使用oauth2.0令牌。 – Pentium10
如何使用oauth2.0.As cron作業由GAE運行,而不是由任何用戶運行。請在java中提供一些代碼。 – Innovation