no, I checked, don't worry, and there is none, all of the libraries available 
seem to be using an html version 
(gmail.com/mail?ui=html) and parsing that html code, mine uses a special type 
of data, fully binary.. 
(gmail.com/mail?ui=pb)very bandwidth efficient (when no email, only 3 bytes 
transferred), etc...
I read part of the code of the gmail agent API but that didn't help as it's two 
completely different methods.
don't worry, I'm not stupid! :) (well.. sometimes :p)

KaKaRoTo


On Thu, Dec 14, 2006 at 10:26:56AM +0100, Karel Demeyer wrote:
> I think this whole protocol is already reverse-engeneerd, or mayeb
> google even publishes it ?  THe last might not be true .. but you could
> find a whole lotta information with ... google, no ?
> 
> e.g.:
> http://www.johnvey.com/features/gmailapi/ ?
> 
> Karel.
> 
> 
> Op donderdag 14-12-2006 om 01:46 uur [tijdzone -0500], schreef Youness
> Alaoui:
> > Hello,
> > I updated this wiki page with more accurate information about 
> > the GData (I named it like that :D) format : 
> > http://www.amsn-project.net/wiki/index.php/Gmail
> > If someone is ready to take on the challenge of finding out how the 
> > timestamp is written, please do so, it 
> > would be nice to have that information ready for when I finish my exams... 
> > It's really easy, I just don't have 
> > much time for it right now...
> > Also, I'd like to know how you'd like me to implement the 'tell me' 
> > functionality of the plugin... should I show 
> > a popup window with that information (like the official google notifier), 
> > or should I rather show a window with 
> > a listbox of all new emails and the user clicks on the email to see more 
> > information...
> > I would go with the notify (more userfriendly) but I'm afraid I won't be 
> > able to give the full functionality to 
> > the users (like seeing who initiated a conversation, what the labels are, 
> > attachments, etc... ) easily...
> > I will also need to have a up/down buttons on the notify window so a user 
> > can view the mail info one by one.. 
> > Any suggestions ? someone wants to implement the notify winodw ? Tom 
> > perhaps? I know you love to play with 
> > canvas (and I have near zero knowledge of how canvas work...)
> > 
> > Thanks,
> > KaKaRoTo
> > 
> > ----- Forwarded message from [EMAIL PROTECTED] -----
> > 
> > From: [EMAIL PROTECTED]
> > To: [EMAIL PROTECTED]
> > Subject: [Amsn-commits] SF.net SVN: amsn: [7657]
> >     trunk/amsn-extras/plugins/gnotify
> > 
> > Revision: 7657
> >           http://svn.sourceforge.net/amsn/?rev=7657&view=rev
> > Author:   kakaroto
> > Date:     2006-12-13 22:39:46 -0800 (Wed, 13 Dec 2006)
> > 
> > Log Message:
> > -----------
> > Updated with some comments and taking into account the 'new' and 
> > 'initiator' keys of an unread mail author information.
> > Also fixed the timestamp parsing which is two separate keys with values 
> > instead of a single 16 bytes header.
> > http://www.amsn-project.net/wiki/index.php/Gmail
> > 
> > Modified Paths:
> > --------------
> >     trunk/amsn-extras/plugins/gnotify/gnotify.tcl
> > 
> > Property Changed:
> > ----------------
> >     trunk/amsn-extras/plugins/gnotify/
> > 
> > 
> > Property changes on: trunk/amsn-extras/plugins/gnotify
> > ___________________________________________________________________
> > Name: svn:ignore
> >    + *
> > 
> > 
> > Modified: trunk/amsn-extras/plugins/gnotify/gnotify.tcl
> > ===================================================================
> > --- trunk/amsn-extras/plugins/gnotify/gnotify.tcl   2006-12-13 21:17:15 UTC 
> > (rev 7656)
> > +++ trunk/amsn-extras/plugins/gnotify/gnotify.tcl   2006-12-14 06:39:46 UTC 
> > (rev 7657)
> > @@ -7,6 +7,8 @@
> >  ###################################################################
> >  
> > 
> > +# For more information on the format and protocol read this article :
> > +# http://www.amsn-project.net/wiki/index.php/Gmail
> >  namespace eval ::gnotify {
> >     variable config
> >     variable configlist
> > @@ -404,13 +406,14 @@
> >                                             puts "$att "
> >                                     }
> >                             }
> > -                   #       if {[llength $mail(tags)] > 0 } {
> > -                   #               puts -nonewline "tags : "
> > -                   #               foreach tag $mail(tags) {
> > -                   #                       puts -nonewline "$tag, "
> > -                   #               }
> > -                   #       }
> > +                           if {[llength $mail(tags)] > 0 } {
> > +                                   puts -nonewline "tags : "
> > +                                   foreach tag $mail(tags) {
> > +                                           puts -nonewline "$tag, "
> > +                                   }
> > +                           }
> >                             puts ""
> > +                           #puts "Timestamp : $mail(timestamp)"
> >                     }
> >             }
> >     }
> > @@ -634,28 +637,37 @@
> >  
> >             set start $data(offset)
> >             set end [expr {$start + $size}]
> > -           set info(author) [list email "" nick ""]
> > +           set info(author) [list errors 0 email "" nick ""]
> > +           set info(new) 0
> > +           set info(initiator) 0
> >             set info(errors) 0
> >  
> >             while {$data(offset) < $end } {
> >                     set key [ReadKey data]
> >                     switch -- $key {
> >                             10 {
> > +                                   # 0x0A Author info
> >                                     set size [ReadSize data]
> >                                     set offset $data(offset)
> >                                     set info(author) [GetMailAuthor2 data 
> > $size]
> >                                     set data(offset) [expr {$offset + 
> > $size}]       
> >                             }
> > -                           16 {
> > -                                   # unknown
> > -                                   GetMultiByte $var
> > +                           16 {    
> > +                                   # 0x10 Has unread mail
> > +                                   # This key specifies whether an email 
> > of this author in the thread is unread
> > +                                   if { [GetMultiByte $var] == 1} {
> > +                                           set info(new) 1
> > +                                   } 
> >                             }
> >                             24 {
> > -                                   # unknown
> > -                                   GetMultiByte $var
> > +                                   # 0x18 Thread Initiator
> > +                                   # This key specifies whether this user 
> > is the one who started the thread
> > +                                   if { [GetMultiByte $var] == 1} {
> > +                                           set info(initiator) 1
> > +                                   } 
> >                             } 
> >                             default {
> > -                                   puts "Unknown author key : $key"
> > +                                   puts "Unknown author ($info(author)) 
> > key : $key"
> >                                     incr info(errors)
> >                             }
> >                     }
> > @@ -678,11 +690,13 @@
> >                     set key [ReadKey data]
> >                     switch -- $key {
> >                             10 {
> > +                                   # 0x0A Email
> >                                     set size [ReadSize data]
> >                                     set email [DecodeString [GetBytes data 
> > $size]]
> >                                     set info(email) $email
> >                             }
> >                             18 {
> > +                                   # 0x12 Name
> >                                     set size [ReadSize data]
> >                                     set nick [DecodeString [GetBytes data 
> > $size]]
> >                                     set info(nick) $nick
> > @@ -702,9 +716,9 @@
> >  
> >             set start $data(offset)
> >             set end [expr {$start + $size}]
> > -           set timestamp_size [GetMultiByte $var]
> >  
> > -           set info(timestamp) [GetBytes data $timestamp_size]
> > +           set info(timestamp) ""
> > +           set info(timestamp2) ""
> >             set info(attachments) [list]
> >             set info(tags) [list]
> >             set info(authors) [list]
> > @@ -713,41 +727,59 @@
> >             set info(threads) 1
> >             set info(errors) 0
> >  
> > +
> > +
> >             while {$data(offset) < $end } {
> >                     set key [ReadKey data]
> >                     switch -- $key {
> > +                           16 {
> > +                                   # 0x10 unknown / timestamp
> > +                                   #puts "Unknown mail key 16 has value : 
> > [GetMultiByte $var]"
> > +                                   set info(timestamp)  [GetMultiByte $var]
> > +                           } 
> > +                           24 {
> > +                                   # 0x18 unknown / timestamp
> > +                                   #puts "Unknown mail key 24 has value : 
> > [GetMultiByte $var]"
> > +                                   set info(timestamp2)  [GetMultiByte 
> > $var]
> > +                           }
> >                             130 {
> > +                                   # 0x82 Tag
> >                                     set size [ReadSize data]
> >                                     set tag [GetBytes data $size]
> >                                     lappend info(tags) $tag
> >                             }
> >                             146 {
> > -                                   # from
> > +                                   # 0x92 from
> >                                     set size [ReadSize data]
> >                                     set offset $data(offset)
> >                                     lappend info(authors) [GetMailAuthor 
> > data $size]
> >                                     set data(offset) [expr {$offset + 
> > $size}]
> >                             }
> >                             152 {
> > -                                   # unknown
> > +                                   # 0x98 unknown
> > +                                   #puts "Unknown mail key 152 has value : 
> > [GetMultiByte $var]"
> >                                     GetMultiByte $var
> >                             }
> >                             162 {
> > +                                   # 0xA2 Subject
> >                                     set size [ReadSize data]
> >                                     set subject [DecodeString [GetBytes 
> > data $size]]
> >                                     set info(subject) $subject
> >                             }
> >                             170 {
> > +                                   # 0xAA Body preview
> >                                     set size [ReadSize data]
> >                                     set body [DecodeString [GetBytes data 
> > $size]]
> >                                     set info(body) $body
> >                             }
> >                             178 {
> > +                                   # 0xB2 Attachment
> >                                     set size [ReadSize data]
> >                                     set attachment [DecodeString [GetBytes 
> > data $size]]
> >                                     lappend info(attachments) $attachment
> >                             }
> >                             184 {
> > +                                   # 0xB8 Number of threads
> >                                     set info(threads) [GetMultiByte data]
> >                             }
> >                             default {
> > @@ -760,6 +792,8 @@
> >  
> >     }
> >  
> > +   # For more information on the format and protocol read this article :
> > +   # http://www.amsn-project.net/wiki/index.php/Gmail
> >     proc parseGData { data_bin } {
> >             set data(bin) $data_bin
> >             set data(len) [string length $data_bin]
> > @@ -774,12 +808,14 @@
> >                     set key [ReadKey data]
> >                     switch -- $key {
> >                             10 {
> > +                                   # 0x0A New mail Key
> >                                     set size [ReadSize data]
> >                                     set offset $data(offset)
> >                                     lappend info(mails) [GetNewMail data 
> > $size]
> >                                     set data(offset) [expr {$offset + 
> > $size}]
> >                             }
> >                             136 {
> > +                                   # 0x88 Number of mails Key
> >                                     set info(nb_mails) [GetMultiByte data]
> >                             }
> >                             default {
> > 
> > 
> > This was sent by the SourceForge.net collaborative development platform, 
> > the world's largest Open Source development site.
> > 
> > -------------------------------------------------------------------------
> > Take Surveys. Earn Cash. Influence the Future of IT
> > Join SourceForge.net's Techsay panel and you'll get the chance to share your
> > opinions on IT & business topics through brief surveys - and earn cash
> > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
> > _______________________________________________
> > Amsn-commits mailing list
> > [EMAIL PROTECTED]
> > https://lists.sourceforge.net/lists/listinfo/amsn-commits
> > 
> > ----- End forwarded message -----
> > 
> > -------------------------------------------------------------------------
> > Take Surveys. Earn Cash. Influence the Future of IT
> > Join SourceForge.net's Techsay panel and you'll get the chance to share your
> > opinions on IT & business topics through brief surveys - and earn cash
> > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
> > _______________________________________________
> > Amsn-devel mailing list
> > Amsn-devel@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/amsn-devel
> 
> 
> -------------------------------------------------------------------------
> Take Surveys. Earn Cash. Influence the Future of IT
> Join SourceForge.net's Techsay panel and you'll get the chance to share your
> opinions on IT & business topics through brief surveys - and earn cash
> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
> _______________________________________________
> Amsn-devel mailing list
> Amsn-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/amsn-devel

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Amsn-devel mailing list
Amsn-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/amsn-devel

Reply via email to