Re: [Pharo-users] Using Google service discovery API's with Pharo Smalltalk by Richard J. Prinz
Sven wrote <<< I hadn't seen this posted on the mailing list, but this is really cool stuff. Using Google service discovery API's with Pharo Smalltalk by Richard J. Prinz http://www.min.at/prinz/?x=entry:entry150318-104537 < http://www.min.at/prinz/?x=entry:entry150318-104537;comments:1#comments>
I totally agree with this. I have played with the code, and started writing some code which manipulates the Google services. It is really powerful. Also, Richard has developed a slick way of dealing with OAuth when running a client app. This is great!
Andy Burnett wrote
Using Google service discovery API's with Pharo Smalltalk by Richard J. Prinz
Cool! I noticed a small bug. GoogleGmailApiUsersMessages>>#send: does not accept an argument for the actual message. Maybe it has to do with that requirement is defined in the Message definition? "Message": { ... "raw": { ... "required": [ "gmail.users.drafts.create", "gmail.users.drafts.update", "gmail.users.messages.insert", "gmail.users.messages.send" ] } ----- Cheers, Sean -- View this message in context: http://forum.world.st/Using-Google-service-discovery-API-s-with-Pharo-Smallt... Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
Sean P. DeNigris wrote
Andy Burnett wrote
Using Google service discovery API's with Pharo Smalltalk by Richard J. Prinz Cool! I noticed a small bug
I created a new repo at https://github.com/seandenigris/St-Google-API since the original repo is self-hosted, I don't know what the contribution policy is, and I need the fix to continue my work. I'll keep the MC meta info so that my changes can be merged back if desired. Fun fact. I was able to send a multipart text & html email after a few gotchas. Here is the script in case someone wants to do the same: | api message raw | api := GoogleGmailApiUsersMessages new. api authenticate. message := MailMessage from: '"Mr. Sender" <me@myurl.com>' to: { '"Mrs. Receiver" <me@anotherurl.com>'. } about: 'Thank you!' asFollows: ''. message addAlternativePart: self plainTextString contentType: 'text/plain'; addAlternativePart: self htmlString contentType: 'text/html'. raw := message asSendableText base64Encoded. "Web-safe base64 from https://stackoverflow.com/questions/26663529/invalid-value-for-bytestring-er..." raw := raw copyReplaceAll: '+' with: '-'. raw := raw copyReplaceAll: '/' with: '_'. api send: 'me@myurl.com' api options: (Dictionary with: 'raw' -> raw) where #send:options: is just the generated #send: with an argument passed through (instead of nil) as the last argument to: ... ^ self makeRequestTo: path usingMethod: action with: optionsDict. ----- Cheers, Sean -- View this message in context: http://forum.world.st/Using-Google-service-discovery-API-s-with-Pharo-Smallt... Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
Hi sean I did not get the time to look at the code but do you think that there are meta operations such as compiling code I was planning to have a look if I can use it as an example for a reflection lecture. Stef Le 7/11/15 18:16, Sean P. DeNigris a écrit :
Sean P. DeNigris wrote
Andy Burnett wrote
Using Google service discovery API's with Pharo Smalltalk by Richard J. Prinz Cool! I noticed a small bug I created a new repo at https://github.com/seandenigris/St-Google-API since the original repo is self-hosted, I don't know what the contribution policy is, and I need the fix to continue my work. I'll keep the MC meta info so that my changes can be merged back if desired.
Fun fact. I was able to send a multipart text & html email after a few gotchas. Here is the script in case someone wants to do the same: | api message raw | api := GoogleGmailApiUsersMessages new. api authenticate. message := MailMessage from: '"Mr. Sender" <me@myurl.com>' to: { '"Mrs. Receiver" <me@anotherurl.com>'. } about: 'Thank you!' asFollows: ''. message addAlternativePart: self plainTextString contentType: 'text/plain'; addAlternativePart: self htmlString contentType: 'text/html'. raw := message asSendableText base64Encoded. "Web-safe base64 from https://stackoverflow.com/questions/26663529/invalid-value-for-bytestring-er..." raw := raw copyReplaceAll: '+' with: '-'. raw := raw copyReplaceAll: '/' with: '_'. api send: 'me@myurl.com' api options: (Dictionary with: 'raw' -> raw)
where #send:options: is just the generated #send: with an argument passed through (instead of nil) as the last argument to: ... ^ self makeRequestTo: path usingMethod: action with: optionsDict.
----- Cheers, Sean -- View this message in context: http://forum.world.st/Using-Google-service-discovery-API-s-with-Pharo-Smallt... Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
stepharo wrote
do you think that there are meta operations such as compiling code
The library reads the discovery API and compiles corresponding Pharo classes to wrap the REST API operations. ----- Cheers, Sean -- View this message in context: http://forum.world.st/Using-Google-service-discovery-API-s-with-Pharo-Smallt... Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
participants (3)
-
Andy Burnett -
Sean P. DeNigris -
stepharo