能够通过C#运行查询来访问bigquery api并能够获取数据,但是当我从其他机器尝试相同时,我无法获取数据。我获得访问令牌,但在执行查询时,我得到异常,带有消息 - “无法连接远程服务器”和内部执行,因为 - “所引用的对象类型不支持尝试的操作”。
在开发过程中,我是否需要从多台机器上访问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()
答案 0 :(得分:1)
不 - 从一般的多台机器进行测试时,您无需做任何事情。
尝试从无法连接的计算机上浏览https://bigquery.cloud.google.com。这使用相同的底层API。或者尝试使用API资源管理器:https://developers.google.com/apis-explorer/#p/。
在不同的主机上完成检索访问令牌和执行查询。最有可能的情况是,您有防火墙阻止对未知服务器的出站请求。