0

我能够访问 bigquery api 并能够通过 C# 运行查询来获取数据,但是当我从其他机器尝试相同的操作时无法获取数据。我得到了访问令牌,但是在执行查询时我得到了异常消息 - “无法连接远程服务器”和内部异常 - “所引用的对象类型不支持尝试的操作”。

在开发过程中我需要做些什么来从多台机器访问 API。我尝试为两台机器使用两个不同的 clentId 和 Secret 密钥,但仍然没有工作。

请帮忙。

堆栈跟踪

at System.Net.HttpWebRequest.EndGetRequestStream(IAsyncResult asyncResult, TransportContext& context)
   at System.Net.HttpWebRequest.EndGetRequestStream(IAsyncResult asyncResult)
   at Google.Apis.Requests.Request.EndAttachBody(IAsyncResult asyncResult)
   at System.Net.LazyAsyncResult.Complete(IntPtr userToken)
   at System.Net.ContextAwareResult.CaptureOrComplete(ExecutionContext& cachedContext, Boolean returnContext)
   at System.Net.ContextAwareResult.FinishPostingAsyncOp()
   at System.Net.HttpWebRequest.BeginGetRequestStream(AsyncCallback callback, Object state)
   at Google.Apis.Requests.Request.AttachBody(WebRequest request, Action`1 onRequestReady)
   at Google.Apis.Requests.Request.CreateWebRequest(Action`1 onRequestReady)
   at Google.Apis.Requests.Request.ExecuteRequestAsync(Action`1 responseHandler)
   at Google.Apis.Requests.ServiceRequest`1.GetAsyncResponse(Action`1 responseHandler)
   at Google.Apis.Requests.ServiceRequest`1.GetResponse()
   at Google.Apis.Requests.ServiceRequest`1.Fetch()
4

1 回答 1

1

不——一般来说,在多台机器上进行测试时,您不需要做任何事情。

尝试从无法连接的机器浏览到https://bigquery.cloud.google.com 。这使用相同的底层 API。或者尝试使用 API 资源管理器:https ://developers.google.com/apis-explorer/#p/ 。

检索访问令牌和执行查询是在不同的主机上完成的。最可能的情况是您有防火墙阻止对未知服务器的出站请求。

于 2012-09-18T07:10:38.177 回答