我想在我的谷歌引擎应用程序中使用异步请求来触发谷歌应用程序脚本(部署为网络应用程序):
URLFetchService fetcher = URLFetchServiceFactory.getURLFetchService();
Future future = fetcher.fetchAsync(req);
HTTPResponse response = (HTTPResponse) future.get();
但 fetchAsync 方法仅接受 url 或 com.google.appengine.api.urlfetch.HTTPRequest 它没有提供更多选项:https://developers.google.com/appengine/docs/java/javadoc/com/google/appengine/api/urlfetch/HTTPRequest
我不知道如何将 OAuth 安全标头添加到异步获取服务中。我们使用标准 HttpRequest 方法构建授权请求。
包含 OAuth 的示例 HttpRequest :
HttpRequest contactrequest = rf.buildGetRequest(shortenEndpoint);
GoogleHeaders headers = new GoogleHeaders();
headers.setContentType("application/x-www-form-urlencoded");
headers.setAuthorization("OAuth " + creds.getAccessToken());
contactrequest.setHeaders(headers);
contactrequest.getHeaders().set("GData-Version", "3.0");
有没有办法发送异步OAuth授权请求?
答案:无法在 fetchAsync 服务中指定 OAuth 标头。另一种方法是使用队列任务。
现在出现了新问题:当您以编程方式调用 Google 应用程序脚本时,如何传递“用户上下文”:以编程方式调用 Google 应用程序脚本和用户身份??