Closed GoogleCodeExporter closed 8 years ago
Are you trying to export *all* public waves from wave.google.com, even ones
that you have never opened?
Original comment by oh...@google.com
on 10 Apr 2012 at 6:45
Yes.
Original comment by akapla...@gmail.com
on 10 Apr 2012 at 6:49
I've never tried using the Robot API for this. It's quite possible that it
doesn't work. I don't think this will ever be fixed on the server side.
An alternative approach would be to use the client-server protocol. Some
people have reverse-engineered much of it already. I would start with the
wave-client-for-emacs code base since I'm familiar with it; but if you don't
know Lisp, this may not be a good starting point for you.
Original comment by oh...@google.com
on 10 Apr 2012 at 7:18
Google Wave Robot API doesn't allow to fetch waves with "implicit" access.
But can you explain a bit more the other solution?
I actually thought about making Selenium script that would use the browser to
search for all public waves and add there a robot.
Original comment by vega113
on 11 Apr 2012 at 8:14
The Robot API should allow fetching waves with "implicit" access (public or
through groups). I added this feature (security hole?) a few months ago to
allow users to export all their waves, not just the ones where they are a
participant. The Robot API documentation is probably out of date. If you play
around with walkaround's import feature, you should be able to confirm that
this works.
The other solution I was referring to is talking to the wave servers the same
way Google's browser-based client does -- you need the right authentication
cookies and have to speak Wave's undocumented JSON format, the same format the
client uses. But, if you reverse-engineer the format, you should be able to
send searches for [with:public after:YYYY/MM/DD before:YYYY/MM/DD] (one for
each day) to get the IDs for all public waves.
You can then feed these wave IDs into walkaround's or Apache Wave's import
logic.
wave-client-for-emacs can already do the authentication handling and speaks
parts of the JSON format, that's why I would start with it. There are probably
other projects (in more familiar languages) that implement the
reverse-engineered client-server protocol, but I don't know about them.
Reverse-engineering the client-server protocol might violate Google's terms of
service, so if you do this, your access to Wave may be suspended, or something.
I'm not familiar with the terms of service and can't give you any advice on
this.
Original comment by oh...@google.com
on 11 Apr 2012 at 8:58
Please help me. I try to request all waves up to 31 jan 2012. And I can't list
all of them.
Request "with:public after:2012/01/31 before:2012/01/31" does not return all
waves in the response.
If execute this request from Web client, in the title on the waves digest
appears "with:public after:2012/01/31 before:2012/01/31 1-35 of lots".
Many of waves may be lost, what would you advise?
Original comment by akapla...@gmail.com
on 14 Apr 2012 at 8:26
Screenshot is applyed.
Original comment by akapla...@gmail.com
on 14 Apr 2012 at 8:28
Attachments:
You say that the request "with:public after:2012/01/31 before:2012/01/31" does
not return all waves in the response. How did you send this request? If it
was through the Robot API, then I'm not surprised, and I don't think it will
ever work.
Original comment by oh...@google.com
on 15 Apr 2012 at 3:38
I send it from Web client. Screenshot is applyed above.
Original comment by akapla...@gmail.com
on 15 Apr 2012 at 4:16
What's wrong with the list of waves the web client is showing?
Original comment by oh...@google.com
on 15 Apr 2012 at 4:37
Yes, I attached one more screenshot for the 30 January 2012.
Waves just not loaded.
Original comment by kisel2...@gmail.com
on 16 Apr 2012 at 6:48
Attachments:
I tried the search a few times (on Firefox), and it worked about 2/3 of the
time. Could be either a client bug or a backend bug, I don't know. It's not
going to be fixed. To be safe, you can add a loop in your code to try a few
times.
Original comment by oh...@google.com
on 17 Apr 2012 at 12:31
Original issue reported on code.google.com by
akapla...@gmail.com
on 8 Apr 2012 at 6:29