Tag: grails 2.0

如何使用scribe在Grails中为twitter实现仅限应用程序的身份validation?

早些时候我正在使用Twitter API 1.0的GET搜索/推文根据Grails中的#tags获取推文 Map jsonMap = grails.converters.JSON.parse(new URL(‘http://search.twitter.com/search.json?q=%23’ + URLEncoder.encode(tag) + ‘&offset=’ + offset + ‘result_type=mixed&lang=en&page=’ + page).text) 但由于Twitter API版本1.1的变化,现在上述调用需要身份validation。 我想代表应用程序(身份validation)而不是用户身份validation来获取推文。 这可能吗? 我遇到了application-only-auth但无法实现它。 https://dev.twitter.com/docs/auth/application-only-auth 如何在Grails中使用scribe API实现上述。

Grails将日期时间保存为UTC时间,但将其作为本地服务器时间读取?

我的Grails应用程序中有以下行将默认时区设置为UTC: TimeZone.setDefault(TimeZone.getTimeZone(“UTC”)) 我有一个带有dateCreated字段的Audit实体: class Audit { Date dateCreated String message } 然后我创建并保存它的一个实例: def audit = new Audit(message: “Testing audit message”) 这会将其作为UTC时间正确保存到我的数据库中。 但是,当我尝试阅读它时: audit = Audit.get(1) 时间戳将作为本地时间回读。 因此,如果我的时区是+1 UTC并且当前本地时间是BST的 12:34:56 ,那么将保存到数据库的是11:34:56 ,但是当我读回它时,它变为11:34:56 BST 。 有没有人知道如何解决这个问题,以便Grails将时间戳读回UTC并相应地转换它?

Grails中的映像byte 到response.outputStream导致“响应提交后无法转发”

在我的Grails控制器中,我有一个像byte []的图像。 我想将此byte []直接写入response.outputStream 我使用以下代码来做到这一点: def getImage() { def attachment = Attachment.get(params.id) def imageByteArray = // some byte image from attachment (is a jpg image) withCacheHeaders { etag { if (imageByteArray) “${imageByteArray}”.encodeAsSHA1() else “${new Date()}”.encodeAsSHA1() } delegate.lastModified { if(imageByteArray) { attachment.lastUpdated ?: 0 } } generate { response.setContentType(“image/jpeg”) response.setHeader(“Content-disposition”, “filename=\”${imageName}${imageExtension}\””) response.setContentLength(imageByteArray.size()) def outputStream = null […]

com.amazonaws.services.s3.model.AmazonS3Exception:Forbidden(Service:Amazon S3; Status Code:403; Error Code:403 Forbidden; Request ID:XXXXXXXX)

从几天开始,当我尝试将文件推送到S3Bucket时,我收到此exception。 Ealier的一切似乎都有效,我相信我的代码没有任何代码变化。 com.amazonaws.services.s3.model.AmazonS3Exception: Forbidden (Service: Amazon S3; Status Code: 403; Error Code: 403 Forbidden; Request ID: XXXXXXXXXXXX), S3 Extended Request ID: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX at com.amazonaws.http.AmazonHttpClient.handleErrorResponse(AmazonHttpClient.java:1077) at com.amazonaws.http.AmazonHttpClient.executeOneRequest(AmazonHttpClient.java:725) at com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:460) at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:295) at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:3699) at com.amazonaws.services.s3.AmazonS3Client.getObjectMetadata(AmazonS3Client.java:999) at com.amazonaws.services.s3.AmazonS3Client.getObjectMetadata(AmazonS3Client.java:977) …. …. 我遇到了许多与com.amazonaws.services.s3.model.AmazonS3exception相关的Q:禁止跟随这些 我已经在我的服务器上安装了NTP来解决任何时间相关的问题。 我还将“AmazonS3Client”对象的endPointUrl添加到我觉得可以解决我的问题的代码中。 我还可以尝试解决这个问题 我正在使用aws-java-sdk:1.9.10将文件推送到S3 Bucket。