Google custom search sort date range critères ne fonctionne pas
dans Google Custom search, nous passons les critères de l'intervalle de dates dans le paramètre sort
http://www.example.com/search?cx=xxxxxxxxxxxxxxxxxxxxx:yyyyyy_yyyyy&q=google&sort=date:r:20160304:20160505.
https://developers.google.com/custom-search/docs/structured_search#restrict_to_range
mais nous n'obtenons pas le résultat attendu selon les critères de la fourchette de dates. Après avoir débogué le code, le paramètre sort n'est pas passé à l'URL de recherche personnalisée même lorsque nous le passons à l'url de notre page de recherche.
recherche Personnalisé de Google URL:
https://cse.google.com/cse?q=google&r=m&cx=xxxxxxxxxxxxxxxxxxxxx:yyyyyy_yyyyy&fexp=20606&client=google-coop&hl=en&type=0&oe=UTF-8&ie=UTF-8&format=p4&ad=p4&nocache=1081472127237880&num=0&output=uds_ads_only&source=gcsc&v=3&allwcallad=1&adext=as1%2Csr1%2Cctc1&bsl=10&u_his=50&u_tz=330&dt=1472127237882&u_w=1366&u_h=768&biw=1349&bih=233&psw=1349&psh=233&frm=0&uio=uv3st16sd13sv13lhsl1sr1cc1-&jsv=14100&rurl=http%3A%2F%2Fwww.example.com%2Fsearch%3Fcx%xxxxxxxxxxxxxxxxxxxx_yyyyy%26q%3Dgoogle%26sort%3Ddate%253Ar%253A20160304%253A20160505
mais lorsque nous essayons d'accéder à l'API directe avec le paramètre sort date range nous obtenons les résultats attendus.
https://www.googleapis.com/customsearch/v1?q=google&cx=xxxxxxxxxxxxxxxxxxxxx:yyyyyy_yyyyy&sort=date%3Ar%3A20160701%3A20160724&key=<APIKEY>
nous utilisons Google custom search v2 implementation.
Merci, Anup
4 réponses
essayez d'échapper à tous les caractères spéciaux qui sont passés comme paramètres de requête. Par exemple,
> - <
< - >
& - &
' - '
'' - "
ceux-ci sont encodés comme ceci. Vous pouvez y échapper de deux façons
- spécifiant explicitement
escapeXml = "**false**"
la valeur par défaut est true. - ajouter l'url dans JSP si vous utilisez
<%@taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
et puis s'échapper en appelant${fn:escapeXml(myString)}
.
cela ressemble à un problème avec vos paramètres d'url encodage. Il pourrait être le double codage.
je pense que dans le code de l'ur de faire un quelconque des caractères d'échappement pour la requête params essayer d'enlever cette case
assurez-vous que vous utilisez le bon format.
https://www.googleapis.com/customsearch/v1?key=INSERT_YOUR_API_KEY&cx=017576662512468239146:omuauf_lfve&q=searchterm&sort=document-weight
Merci!