小编Ósc*_*car的帖子

哪些Java库可用于生成KML?

我正在寻找Java库来生成KML格式的数据.

java api kml

17
推荐指数
1
解决办法
1万
查看次数

我应该使用哪个Java库通过Facebook,Gmail,本地身份验证等进行身份验证?

您建议在Java Web应用程序(只是servlet和JSP)中实现哪个Java库?我们希望提供最常见的身份验证提供商(Facebook,Yahoo,Gmail等)以及本地帐户注册.

我找到了SocialAuth,但它看起来很新,我不知道是否有更好的选择.此外,看起来SocialAuth会请求访问我不需要的用户联系人,并且可能会烦扰我们的用户.

谢谢!

java openid authentication oauth socialauth

8
推荐指数
1
解决办法
1238
查看次数

如何防止 Google One Tap 窃取输入焦点?

如果您在带有 或 的页面上使用Google One Tap 或者在页面加载过程中使用Google One Tap,则 Google One Tap 会在显示其登录窗口时从输入字段中删除焦点。inputtextareaautofocusfocus()

对我来说,这看起来像是 Google One Tap 错误。

有办法避免吗?并举报?

javascript google-api autofocus google-signin google-one-tap

5
推荐指数
1
解决办法
109
查看次数

对于可以更改的内容,哪些是与缓存相关的最佳HTTP标头?

我们有几个文件通过HTTP提供,并且不时更改.

哪些是与缓存相关的HTTP标头,我们应该在HTTP响应中返回以优化浏览器加载速度,同时强制浏览器验证它是否具有文件的最新版本?

我们已经设置了一个"Expires"标题,其中包含过去的日期(此时似乎已达成共识).

但是有些人建议设置这个标题:

Cache-Control: no-cache, no-store, must-revalidate
Run Code Online (Sandbox Code Playgroud)

但是这个标题的问题在于它阻止浏览器保留文件的本地副本,因此每次使用200响应代码下载文件,即使它没有更改.

如果我只是使用:

Cache-Control: no-cache
Run Code Online (Sandbox Code Playgroud)

然后浏览器(至少Firefox 14和Chrome 20)保留本地副本,发送If-Modified-SinceIf-None-Match标题,服务器返回304代码并且不下载文件内容. 这是可以随时更改的这些文件的最佳行为.

问题是我不知道设置"no-cache"是否足以强制所有浏览器(包括旧的但仍然使用的版本)和代理服务器使用服务器重新验证其本地缓存副本.

最后,Pragma: no-cache标题怎么样?它应该也包含在HTTP响应中吗?

caching http no-cache cache-control http-caching

4
推荐指数
2
解决办法
584
查看次数

如何使用 Google Analytics Data API (GA4) Java 客户端库按维度进行过滤?

我正在尝试使用 Java 客户端库并应用维度过滤器来调用 Google Analytics Data API (GA4)。如果我不使用 setDimensionFilter 调用,这是有效的调用:

RunReportRequest request =
    RunReportRequest.newBuilder()
        .setProperty(propertyId)
        .addDimensions(com.google.analytics.data.v1beta.Dimension.newBuilder().setName("pageLocation"))
        .addMetrics(com.google.analytics.data.v1beta.Metric.newBuilder().setName("screenPageViews"))
        .addMetrics(com.google.analytics.data.v1beta.Metric.newBuilder().setName("activeUsers"))
//        .setDimensionFilter(FilterExpression.newBuilder().setFilter(Filter.newBuilder().setStringFilter(
//             Filter.StringFilter.newBuilder()
//               .setMatchType(Filter.StringFilter.MatchType.FULL_REGEXP)
//               .setField(Descriptors.FieldDescriptor, "pageLocation")
//               .setValue("MY_REGEXP")
//               .build())))
        .addDateRanges(com.google.analytics.data.v1beta.DateRange.newBuilder()
        .setStartDate(startDate.toStringYYYYMMDDWithDashes())
        .setEndDate(endDate.toStringYYYYMMDDWithDashes()))
        .setKeepEmptyRows(true)
        .build();
Run Code Online (Sandbox Code Playgroud)

我不知道如何使用setDimensionFilter。如果前面代码中注释的用法是正确的,那么唯一缺少的是对setField. 我不知道如何生成Descriptors.FieldDescriptor实例(甚至不知道它的含义)。

我已经查看了客户端库 javadoc以及代码示例(它们非常简单,不幸的是没有显示 的​​任何用法setDimensionFilter)。

google-analytics-api google-analytics-4 google-analytics-data-api

3
推荐指数
1
解决办法
2665
查看次数