[ASP] Google Desktop Search

Pagina: 1
Acties:

  • Justice
  • Registratie: Maart 2001
  • Laatst online: 07-08-2025
Ik heb een probleem, ik ben voor ons intranet een asp interface aan het schrijven voor de Google Desktop Search API, zodat we GDS kunnen gebruiken om pagina's en documenten te indexeren en zoeken. Hiervoor maak ik gebruik vna de documentatie van de GDS-SDK

Hierin staat:
Requesting a Desktop Search

Your application requests a desktop search by sending an HTTP request that includes a &format=xml parameter to Google Desktop. For example, to search for "Google" you'd send something like:

http://127.0.0.1:4664/search&s=[key]?q=Google&format=xml
Ik heb deze query ingevoerd in mijn browser met mijn eigen security token en ik krijg mooi een xml file terug. Echter wanneer ik het in mijn programma zet krijg ik het volgende probleem en ik kom er niet uit:

VBScript:
1
2
3
4
5
6
7
8
9
10
11
12
<%
    Dim mydoc, urlquery,text
    urlquery = Request.QueryString("q")
    Set mydoc= Server.CreateObject("MSXML2.ServerXMLHTTP")
    urlquery = "http://127.0.0.1:4664/search&s=[key]?q=Google&format=xml"
    mydoc.Open "GET", urlquery, false
    mydoc.Send 
    
    text = mydoc.ResponseText
    Response.write(text)
    Set mydoc = Nothing
 %>


Foutmelding van Google:
code:
1
2
3
4
 Invalid Request
You requested a page that does not exist.

You may have reached this page by clicking on an invalid link or bookmark.

Volgens mij ligt het aan de vreemde manier van doorgeven van de querystring variabelen, de securitytoken moet altijd eerst komen. blijkbaar wordt dit verkeerd doorgestuurd.
Op welke manier kan ik uitvinden hoe deze request afgehandeld wordt? Ik dacht niet dat GDS logs bijhoudt van requests, maar ik zal daarvoor even zoeken.

[ Voor 9% gewijzigd door Justice op 01-09-2005 15:22 ]

Human Bobby


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

&s=...?q=...?

Vind ik inderdaad nogal vaag overkomen. Weet je zeker dat het niet ?s=...&q=... moet zijn?

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • TeeDee
  • Registratie: Februari 2001
  • Nu online

TeeDee

CQB 241

Wat -NMe- zegt.

?s=....&q=.... is de juiste volgorde. Snap niet dat je het in een browser request goed doet, en in je app fout. :)


edit:
sorry -NMe-, je eindigt op een - en niet op een = :)

[ Voor 22% gewijzigd door TeeDee op 01-09-2005 13:28 ]

Heart..pumps blood.Has nothing to do with emotion! Bored


  • Justice
  • Registratie: Maart 2001
  • Laatst online: 07-08-2025
Alle documentatie doet het zoals mijn startpost, maar met ?s=..&q= werkt het ook.. maar nog steeds alleen in de browser.
Ik kan dus zeer waarschijnlijk het &? fenomeen uitsluiten :)

Teedee: het werkt dus nog steeds niet dus het is niet het 'probleem' dat -NME- aankaarte, maar toch bedankt :)

Hoe zit het met redirects?
Stel dat GDS eerst een foutpagina geeft en dan wanneer de query goed is je doorstuurd, zou ik dan een probleem hebben met mijn aspcode?

Een manier om te kunnen uitvinden waardoor het komt zou beter zijn, mijn kennis van asp/vbscript is maar gemiddeld.

[ Voor 58% gewijzigd door Justice op 01-09-2005 13:32 ]

Human Bobby


  • TeeDee
  • Registratie: Februari 2001
  • Nu online

TeeDee

CQB 241

Je hebt gelijk. De documentatie doet het inderdaad ook net zo "fout".

Wat je evt. zou kunnen doen is met FireFox en LiveHTTPHeaders kunnen bekijken of er iets geredirect wordt.

Weet je wat, zal de SDK eens neerhalen en kijken wat er gebeurt :)

Geen enkel probleem met jouw code. Werkt als een tierelier op mijn localhost.

VBScript:
1
2
3
4
5
6
7
8
9
<%
    Set mydoc= Server.CreateObject("MSXML2.ServerXMLHTTP")
    urlquery = "http://127.0.0.1:4664/search&s=[mijnsecurtyitoken]?q=Google&format=xml"
    mydoc.Open "GET", urlquery, false
    mydoc.Send    
    text = mydoc.ResponseText
    Response.write(text)
    Set mydoc = Nothing
 %>

[ Voor 52% gewijzigd door TeeDee op 01-09-2005 13:46 ]

Heart..pumps blood.Has nothing to do with emotion! Bored


  • Justice
  • Registratie: Maart 2001
  • Laatst online: 07-08-2025
hmms VREEMD! misschien is het dan een permissie probleem? tis een nieuwe Windows 2003 server.

Human Bobby


  • TeeDee
  • Registratie: Februari 2001
  • Nu online

TeeDee

CQB 241

Justice schreef op donderdag 01 september 2005 @ 13:51:
hmms VREEMD! misschien is het dan een permissie probleem? tis een nieuwe Windows 2003 server.
Hmm, nu zie ik denk ik wat er fout gaat.

- Je krijgt een security token die je mee moet geven in je query.
Als ik http://127.0.0.1:4664/sea...k91Z0?q=Google&format=xml uitvoer, krijg ik ook een fout.
Vervang ik die s=[..] met mijn eigen key, dan werkt het wel.

Je key kan je vinden in
code:
1
HKEY_CURRENT_USER\Software\Google\Google Desktop\API\search_url

Of met LiveHTTPHeaders, zoals ik al zei, zie je je key ook voorbijvliegen.

Edit:
En gelijk GDS eraf geflikkerd.

[ Voor 11% gewijzigd door TeeDee op 01-09-2005 14:06 ]

Heart..pumps blood.Has nothing to do with emotion! Bored


  • Justice
  • Registratie: Maart 2001
  • Laatst online: 07-08-2025
Ja dat was het, doordat ik remote desktop gebruikte maar via mijn network place via mijn html editor het asp bestand opsloeg had ik niet door dat ik mijn lokale key gebruikte op de google desktop search van de temp-server :D

als je trouwens &format=xml vergeet krijg je een foutmelding dat je browser te oud is, hierdoor werd ik op een dwaalspoor gebracht (ik dacht dat de asp pagina niet genoeg rechten had, maar dat is niet zo).

Maar goed op basis van deze asp code en http://desktop.google.com/plugins/i/tweakgds.html kan je dus 1000 pond besparen en hoef je wellicht geen Google Search Appliance te kopen. ;)

Human Bobby


  • TeeDee
  • Registratie: Februari 2001
  • Nu online

TeeDee

CQB 241

Kijk aan. Had de hoop al opgegeven dat je nog zou reageren :)

Ik had het er met een collega over, en ik zou het best wel eens op willen zetten om als vervanger voor een van onze index servers te dienen.

Even kijken of het zo te fabriceren is dat je per site per folder een query uit kan voeren :)

Heart..pumps blood.Has nothing to do with emotion! Bored

Pagina: 1