Dreamstime

Saturday 27 June 2015

RavenPlus And Blogger's OAuth2 - My Work So Far

Hello! I'm Back

After working for something like 60 odd hours over some 20 odd days, I have finally managed to integrate Google's Blogger API Client for Python (version 3) into RavenPlus. Lots of pain; Lots of u-turns; Lots of challenges; And lots of stress along the way. This is something that I hope I will never have to do again.

A Snapshot Of My Work In Notepad++

I have to write 3 extra Python modules in all. These 3 modules are all to do with publishing to Google's Blogger with authentication via OAuth2, obviously. It is a good thing that Raven was well designed. Existing publishing modules (to Wordpress, for example) are not disturbed. It is a good thing too that there is a Python Client Libraries for Blogger API. Otherwise, there will be more work and complexity.

There is still a lot of rough edges in this work-in-progress version of RavenPlus. So it is not fit for release yet. For now, I only have 2 working functions - posting a 'new' post and 'updating' existing posts. There are still 6 more functions to write. And this does not include the picture upload capabilities to PicasaWeb.

Instead of using it as a Python library, I intend to integrate the Google API Python Client Libraries into RavenPlus for more control over error handling. At the moment, some error messages from this library are not caught by RavenPlus - they just go to the command prompt.

Some Knottiness

Although it works, there is a slight complication that I am still debating in my mind on what to do next. There is this problem of different attributes that is returned in Version 3 and in Version 2 (maybe even Version 1, I didn't check) of the Blogger API from the Blogger server. Zoundry has written Raven in such a way that these prior-to-Version-3 attributes are stored locally. But I am thinking of doing away with them. The big question is: Should I? Will it cause any problem later on down the road?

Note

  1. I am still working with Python version 2.4. I managed to customised the Google's Blogger API Python Client Version 1.2 down to Python 2.4 - for the modules that I need only, anyway.

  2. Working with Python version 2.7 is a no-go for the moment. There is a need for a Microsoft C/C++ compiler for building 2 RavenPlus Python extensions (those files with the .PYD extensions). I did find out later that the compiler is freely available for download from Microsoft. But I was concern over the numerous warning messages upon installation of some of the RavenPlus dependent libraries. Building RavenPlus with Python 2.7 is reserved as a future project for now.

17 comments:

  1. Congratulations!!! And thanks for your great work!!!, I will wait the release.
    About Picassa: You can not doing login for now or you can not do it definitively?

    ReplyDelete
    Replies
    1. I do store some of my pictures at PicasaWeb. So I will work on it later on. I think they use a different set of APIs; haven't looked at it yet.

      Delete
    2. Ok, thanks!!!, I ask you 'cause I send all to Picassa with Raven

      Delete
  2. Good work!!!! I hope you can fix Picassa too!!

    ReplyDelete
  3. YUPI!!!!!!!!!! I can't wait for test your Raven!!!! :) :)

    ReplyDelete
  4. Thank you and Good luck!

    ReplyDelete
  5. I'm glad to hear good news! Thanks! Thanks! Thanks!

    ReplyDelete
  6. Margaret Rousrt9 July 2015 at 20:21

    Hi T.C.! Do you have any new about your work?

    ReplyDelete
    Replies
    1. I am still working on it.

      I thought the Google Blogger API Version 3 has all the functions that I need to work with. But unfortunately that is not true (example: no API calls to get all 'labels'; and no API calls to get all 'live' and 'draft' post at the same time). So, I have to do some extra work to get what I want.

      Delete
  7. Margaret Rousrt11 July 2015 at 17:52

    Thanks for the answer! I hope you can do it!! I love Raven and I really miss it

    ReplyDelete
    Replies
    1. Sorry for the snail's pace. I am only working on Raven+ in my spare time. That's roughly about 2 hours a day.

      I'm trying my very best - I love Raven/Raven+ too.

      Delete
    2. Thanks for take time for fix Raven+!!!!! And don't worry for your snail's pace,

      I can imagine that the fix is very hard.

      I use now W Live writer waiting for you new Raven+, but is not a good soft. Raven is the BEST!

      Delete
    3. I facing challenges at every corner - even at the py2exe level because of the Python .egg library files, I think. My generated Raven+ Windows executable won't run because of this. It just wouldn't start. I hope to get this sorted out soon.

      I haven't used WLW before. But once your blog post is on the Blogger server, you should be able to download it back to Raven+ later (including the labels). I've got this part working.

      Delete
    4. Yes, I know that. I always have to re-edit old post. That is one of the reasons for which I love Raven+. Thank you for your work and sacrifice. Good luck!!!

      Delete
  8. Don't worry T.C.

    I prefer snail's pace and have a working Raven+ with Blooger, that nothing!

    I can wait (but really I am very anxious!!!)

    ReplyDelete
  9. Hi, Chuah,

    I was able to post to my Wordpress.com blog with Raven+ as recently as last month, but now it's not able to publish posts. The error: Error:'(2, 'error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version')'

    Thanks to your Raven+, I was able to use Zoundry Raven all these years. Much gratitude!

    Any chance of a fix?

    Cochin Blogger

    ReplyDelete
    Replies
    1. Looks like Wordpress.com has made some changes on their end. Sorry but I am not familiar with the Wordpress.com API. And I do not publish my blogs to Wordpress.com. So a fix is not imminent. Sorry to disappoint you.

      Delete