Contacts API v3,组查询参数不支持'q'参数???在Google Contacts API v3中,它明确表示支持它。但是,当我使用谷歌提供的java客户端库时,通过查询中的setFullTextQuery搜索合同组,我得到HTTP状态403 Forbidden。抛出“线程中的异常”主“com.google.gdata.util.ServiceForbiddenException:Forbidden 此服务不支持'q'参数。“
我已下载最新的Java客户端库:GDATA的GData-Java / 1.47.1(gzip)。尝试使用setFullTextQuery方法搜索联系人组。
哪些步骤会重现此问题?
我检查的版本是否正确,它使用的是GData-Version:3.0 如果按原样运行示例java,一切运行正常。但是,我需要搜索联系人。使用'q'参数应该是正确的方法。
请帮忙。这是库中的错误,还是我需要采用不同的方法来搜索联系人?
以下日志:
执行操作:QUERY
2012年11月28日下午12:38:48 com.google.gdata.client.http.HttpGDataRequest setPrivateHeader FINER:授权:
2012年11月28日下午12:38:48 com.google.gdata.client.http.HttpGDataRequest setHeader FINER:User-Agent:Google-contactsExampleApp-3 GContacts-Java / 3.1.0 GData-Java / 1.47.1(gzip)
2012年11月28日下午12:38:48 com.google.gdata.client.http.HttpGDataRequest setHeader FINER:Accept-Encoding:gzip
2012年11月28日下午12:38:48 com.google.gdata.client.http.HttpGDataRequest setHeader FINER:GData-Version:3.0
2012年11月28日下午12:38:48 com.google.gdata.client.http.HttpGDataRequest执行 罚款:403禁止
2012年11月28日下午12:38:48 com.google.gdata.client.http.HttpGDataRequest执行 FINER:null:HTTP / 1.1 403 Forbidden
2012年11月28日下午12:38:48 com.google.gdata.client.http.HttpGDataRequest执行 FINER:X-Frame-Options:SAMEORIGIN
2012年11月28日下午12:38:48 com.google.gdata.client.http.HttpGDataRequest执行 FINER:Transfer-Encoding:chunked
2012年11月28日下午12:38:48 com.google.gdata.client.http.HttpGDataRequest执行 发布者:日期:2012年11月28日星期三17:38:48 GMT
2012年11月28日下午12:38:48 com.google.gdata.client.http.HttpGDataRequest执行 FINER:到期日:2012年11月28日星期三17:38:48 GMT
2012年11月28日下午12:38:48 com.google.gdata.client.http.HttpGDataRequest执行 FINER:X-XSS-Protection:1;模式=块
2012年11月28日下午12:38:48 com.google.gdata.client.http.HttpGDataRequest执行 FINER:Content-Encoding:gzip
2012年11月28日下午12:38:48 com.google.gdata.client.http.HttpGDataRequest执行 FINER:Content-Type:text / html;字符集= UTF-8
2012年11月28日下午12:38:48 com.google.gdata.client.http.HttpGDataRequest执行 FINER:服务器:GSE
2012年11月28日下午12:38:48 com.google.gdata.client.http.HttpGDataRequest执行 FINER:Cache-Control:private,max-age = 0
2012年11月28日下午12:38:48 com.google.gdata.client.http.HttpGDataRequest执行 FINER:X-Content-Type-Options:nosniff
线程“main”中的异常com.google.gdata.util.ServiceForbiddenException:Forbidden 此服务不支持'q'参数。
at com.google.gdata.client.http.HttpGDataRequest.handleErrorResponse(HttpGDataRequest.java:605)
at com.google.gdata.client.http.GoogleGDataRequest.handleErrorResponse(GoogleGDataRequest.java:564)
at com.google.gdata.client.http.HttpGDataRequest.checkResponse(HttpGDataRequest.java:560)
at com.google.gdata.client.http.HttpGDataRequest.execute(HttpGDataRequest.java:538)
at com.google.gdata.client.http.GoogleGDataRequest.execute(GoogleGDataRequest.java:536)
at com.google.gdata.client.Service.getFeed(Service.java:1135)
at com.google.gdata.client.Service.getFeed(Service.java:1077)
at com.google.gdata.client.GoogleService.getFeed(GoogleService.java:676)
at com.google.gdata.client.Service.query(Service.java:1237)
at com.google.gdata.client.Service.query(Service.java:1178)
at sample.contacts.ContactsExample.queryEntries(ContactsExample.java:406)
at sample.contacts.ContactsExample.processAction(ContactsExample.java:350)
at sample.contacts.ContactsExample.main(ContactsExample.java:626)
Java结果:1
答案 0 :(得分:0)
这里只是一个长镜头,因为你还没有发布任何代码...
您似乎未经过身份验证并设置了执行查询的用户。
即。您可能需要在查询中添加以下内容:
myQuery.addCustomParameter(
new Query.CustomParameter("xoauth_requestor_id"
, username)); //where username is the authenticated (probably by OAuth) user
希望我帮助..
答案 1 :(得分:0)
这有效:
https://www.google.com/m8/feeds/contacts/default/full?v=3.0&alt=json&q=john&max-results=10&orderby=lastmodified&sortorder=descending
请注意,v=3.0
是全文搜索的必备条件!