问题标签 [google-http-client]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 安卓oauth2授权
我有自己的 oauth2 提供者。我已将授权类型设置为授权码。我能够通过 curl 成功测试
我想oauth
在我正在开发的 android 应用程序上实现。我想了解流程。
我已经阅读了几个关于这个主题的文档,但我似乎不明白。我希望能够传递用户名和密码并遵循 oauth2 流程。如果有人能画出这幅画,真的很感激吗?
java - 使用 GoogleHttpClient 进行 NT 身份验证
你应该如何使用 NT 身份验证Google Http Client
?
我可以找到大量关于 and 的信息,Apache HttpClient
并且NTCredentials
我可以正常工作,但在我试图在其上标准化新代码的 Google 客户端上却一无所获。
我已经做到了这一点:
我得到了这个例外:
由以下原因引起org.apache.http.impl.client.InternalHttpClient.java
:
google-api - 具有 OAuth2、Basic、NTLM 或协商身份验证机制的 WebDAV java 客户端
库是否google-http-java-client
有助于使用 OAuth2、Basic、NTLM 或协商身份验证机制支持 WebDAV?
apache-httpclient-4.x - 如何创建包含多部分表单数据的可重复 POST 请求?
我正在尝试创建一个POST
包含multipart-form-data
需要的请求NT Credentials
。身份验证请求导致POST
重新发送,我得到一个不可重复的实体异常。
我尝试包装MultipartContent
用 a 生成的实体,BufferedHttpEntity
但它抛出了NullPointerExceptions
?
文档ByteArrayContent
说
AbstractInputStreamContent 的具体实现,它根据字节数组的内容生成可重复的输入流。
使所有部分可重复并不能解决问题。因为这段代码
System.out.println("c.retrySupported() = " + c.retrySupported());
输出c.retrySupported() = true
.
我找到了以下文档:
1.1.4.1。可重复的实体 一个实体可以是可重复的,这意味着它的内容可以被多次读取。这仅适用于自包含实体(如 ByteArrayEntity 或 StringEntity)
我现在通过提取字符串内容将 my 转换MultipartContent
为ByteArrayContent
具有multi/part-form
媒体类型的 a ,但仍然得到相同的错误!
但是当我尝试调用request.execute()
.
那么我该如何说服ApacheHttpTransport
他们创建一个可重复的实体呢?
java - 配置 Google HTTP Client 的 GsonFactory
我正在尝试为解析来自 Google HTTP 客户端请求的 JSON 对象设置日期格式。由于日期格式问题,我尝试直接解析为对象的行request.execute().parseAs(..)
不起作用。对象返回时没有任何值。下面的两行工作得很好,因为我可以设置日期格式。有没有办法以某种方式在 GsonFactory 上设置日期格式?
代码主要是从这里提取的:示例。我已经尝试过 JacksonFactory 和 GsonFactory,包括在使用 Jackson 时使用 @JsonFormat 注释,似乎都不起作用。
我应该先解析为字符串,然后再解析为 JSON 对象,而不是尝试使用 parseAs 进行解析吗?似乎效率较低。
java - 为什么 JsonHttpContent 的输出是空的?
我在 Google App Engine (1.9.30) 上使用 Google Http Client 库 (1.20) 向 Google Cloud Messaging (GCM) 服务器提交 POST 请求。这是代码:
现在content.writeTo()
总是打印出空的 JSON。这是为什么?我究竟做错了什么?类GcmDownstreamDto
(使用 Lombok 生成 getter 和 setter):
近期目标是生成与(来自检查 API 密钥的有效性)相同的响应:
我已经测试过,curl
所以我知道 API 密钥是有效的,我只想在 Java 代码中做同样的事情来构建我的基类。
sendGcmMessage()
被调用如下:
所有帮助表示赞赏。
android - DirectionResult 有空路线和航点 - Google Directions API
我对这个程序的目标是轮询 Google Directions API 并在 Android 应用程序的 MapView 上通过折线绘制路线。
但是,当我DirectionsResult
从 API 调用中得到回复时,尝试访问directionsResult.routes[0]
或directionsResult.geocodedWaypoints[0]
导致NullPointerException。
我目前正在使用 maven 存储库导入以下库(摘自我的 build.gradle):
我在带有调试调用的 AsyncTask 实现中的当前代码已注释掉:
我的调试过程:
显然,这是一个简短但完整的电话。使用包含折线点的腿元素(这是我假设我所追求的)。这个 JSON 与我从阅读中得到的响应相同httpResponse.parseAsString()
。
查看一些 StackExchange 问题,我看到有人建议等待接收数据。我在请求周期的所有组成部分之间延迟了 1 秒,但没有结果。
通话的其他部分都不是空的。
httpResponse.getStatusCode()
退回200。httpResponse.getStatusMessage()
返回确定。
在我尝试使用DirectionsResult
以下方法解析 JSON之前HttpResponse
,一切看起来都很正常:
之后我在访问DirectionsResult
:routes
和geocodedWaypoints
.
有人在这门课上遇到过类似的问题吗?我一直在想,如果这里没有解决,我可能会在正确的 google-http-client 库 GitHub 页面上提交问题。
java - 有什么方法可以标记“仅在重试后成功”的任务?
我想使用退避重试机制来发送 http 请求列表。
有什么方法可以标记(带有标志)仅在重试后成功的请求?
我看到了几个解决方案:
1) https://github.com/rholder/guava-retrying
2) https://developers.google.com/api-client-library/java/google-http-java-client/backoff
但没有办法整合这个标记。这些库中有任何其他库或想法吗?
我试图覆盖这个方法,但是没有办法返回那个指示标志
android - 增加调用 RoboSpice 服务的 loadDataFromNetwork() 的时间
我将 RoboSpice 与 OkHttpClient 模块 (OkHttpSpiceService) 一起用于很长时间的请求。为此,我需要增加 http 客户端的超时时间,因此我将它们设置为 120 秒。
我不使用缓存选项,所以我调用 SpiceRequest
在此 SpiceServiceloadDataFromNetwork()
每 30 秒(3 次)调用后,响应未出现或在此短时间内无法访问。
是否有可能增加或更改调用时间loadDataFromNetwork()
?我知道我在一分钟后得到响应,但使用这种方法我无法得到正确的响应。
java - 使用 Jackson 库序列化 JSON 的正确 POJO
所以问题是如何为 JSON 正确构建 POJO,如下所示:
问题是我无法解析谷歌开发者文档中显示的 JSON,因为包含我需要的数据的数组有很多不同的名称。