Export Birthdays from VK to Google Calendar

    UPD: The script is deprecated, it no longer works and is not supported. Try using newer counterparts, like this one .



    Hello, dear habrasociety!
    Today I want to share with you one, very useful, in my opinion, script. If you already understand everything from the picture to attract attention, here is the link .



    I think many here, like me, have an account on the popular social network vKontakte. Whether you use it or not, love it or not, it is up to you. However, it seems to me that everyone will agree that something is useful in VKontakte. For example, I now know when my friends have a birthday (I like to do nice things to people, congratulating them on this holiday, but I have a really bad memory for dates). Despite the convenience of placing birthdays in one place, VKontakte is clearly not going to miss potential users of this function - there are no notifications about upcoming events, that is, to watch events, you need to be VKontakte. This restriction seems very annoying, but for us, programmers, information masters, such restrictions are only a problem that is interesting to solve.

    At first it’s worth deciding what you would like to get as a result. For me it was a notification of upcoming events by mail, and also, perhaps, viewing the list of events, which is always “at hand”. Since I am an active user of Google services, it was Google Calendar that was chosen as an alternative to the calendar in Contact.

    Advantages of this solution:
    • the ability to add many notifications (mail, sms)
    • integration with other Google web services (gmail, igoogle)
    • the ability to import a calendar from a file


    Actually, the last point made it possible to transfer dates from VKontakte to Google Calendar.

    I’ll make a reservation right away, initially I made the script for myself and for myself. Therefore, do not blame me for the (possible) lack of cross-browser compatibility or something else. The script is essentially one-time, so it seems to me that those who really need can even put a “foreign” browser, greasemonkey, execute the script, delete it, and forget it.

    System recommendations


    (on this configuration, the performance of the script was tested):
    • Firefox 3.5.5
    • Greasemonkey 0.8.2


    User's manual:


    • Install the script from here
    • We go to the site http://vkontakte.ru , login
    • Right-click on the icon of the citizen, select the item “Script Commands”, then the item “Get Birthdays!”
    • A friend list form should appear
    • Select the necessary (or all) friends and click "Export"
    • We are waiting for a long time, I understand, but in VKontakte there is some kind of restriction on the speed of opening the same type of pages, I once got caught while debugging a script. Therefore (1.5 sec + download speed + processing speed) per friend.
    • After processing all the selected friends, you will be asked to save the file with an unreadable name. This is a list of events in iCal format.
    • Go to Google Calendar.
    • Select "Settings" under the list of calendars.
    • Select the item "Import calendar", you can pre-create a new calendar specifically for birthdays.
    • Enjoy new events on your calendar.


    Remarks


    I repeat, the script was written for myself. Initially, there was not even that primitive interface that is now.
    Intermediate file in iCal format. At least Google understands it. This format was obtained by me by studying the sources of the calendar file exported from Google, and removing some “unnecessary fields” from there. The file extension must be .ics, but this is not necessary for import.
    In the body of the script you can find the jQuery library. Yes, I put her there completely.
    The script can slow down the browser on weak machines.
    I recommend to remove or disable the script after use, since the script is relatively heavy and loads for the entire vkontakte.ru domain.

    Actually, that's all. If you have any questions or suggestions, please.

    upd
    Solutionfrom Putin user for Chrome


    Also popular now: