Viewing 15 replies - 1 through 15 (of 20 total)
  • We’re having the same exact issue. Very frustrating and don’t know how to handle this.

    Thread Starter Chaser324

    (@chaser324)

    I ended up doing a partial rewrite using jQuery to fetch data through the Google Calendar REST API, which as far as I can tell is basically your only option. I cut some functionality in the process just for the sake of getting it done quickly, but it was stuff that I personally wasn’t using.

    Take a look here to see my changes. No promises – the updates worked for me but I stopped well short of making this public release worthy.

    Plugin Author Poco

    (@poco)

    Thanks for the quick response and for hacking something together. This is the first I have heard of any issues and I will take a look asap since I have my own sites that still use this plugin.

    For other people who stumble on this looking for answers:

    Google Calendar API v2 Developer’s Guide: Protocol

    “This API is a subject to the Deprecation Policy and will be shutdown on November 17, 2014. Please use APIv3 instead.”

    Thanks, Poco. Could you let us know if you plan to update to the v3 API, and if so, on what timeframe?

    For anytone encountering the same error: I’ve managed to get basically the same functionality out of https://www.ads-software.com/plugins/amr-ical-events-list/ using the ical URL of the calendar.

    Plugin Author Poco

    (@poco)

    I am working on it now. No ETA yet but I will try to get it working as soon as possible.

    Plugin Author Poco

    (@poco)

    Update: I am getting close to a solution. It is actually a fairly straightforward transition from the old API to the new API.

    I expect to have something ready to go for today or tomorrow. I’m updating the settings and testing some edge cases. If I have a preview I will post it here.

    The main changes are that the calendar ID is no longer going to be the URL of the calender, but instead it will be just the id. So instead of “https://www.google.com/calendar/feeds/[email protected]/public/full”, you will use just “[email protected]”.

    You will also need to get a Google API Key and set that in the plugin settings. I will include instructions.

    Poco, not sure if it helps or if you’re already nearly finished this patch, but I found someone else with some documentation on a quick fix.

    https://gist.github.com/Chaser324/5182047a3488ca585ea8

    Plugin Author Poco

    (@poco)

    Ya, that is Chaser324 who started this thread ??

    I have a branch now with the first iteration of the fix. It should be good, and I have no reason to believe it doesn’t work, it just needs some settings updates and a bit more testing.

    For those willing to try it out, you can download the plugin source directly from the branch found here.

    https://plugins.trac.www.ads-software.com/browser/google-calendar-widget/branches/upgrade_to_v3

    Only ko_calendar.js and ko_calendar.php are changed. I don’t know of a good way to download a branch as a zip file, so you have to download the individual files for now.

    I have not added a field in the settings for entering your Google API key, so you need to manually replace the string “YOUR API KEY HERE” in ko_calendar.js with your Google API key.

    To create a Google API Key, go to https://console.developers.google.com.

    1. Create a project for your web site, if you don’t already have one.
    2. Select “APIs” under “APIs and Auth” (left menu)
    3. Enable “Calendar API”.
    4. Go to the “Credentials” page.
    5. Click on “Create New Key”.
    6. Select “Browser Key”.
    7. Add your URL to the referrer box or leave it blank to allow any referrer. I would leave it blank for testing and once you have it working change the rules later.
    8. After you create the key you will be shown the full key.
    9. Copy that key into ko_calendar.js by replacing “YOUR API KEY HERE”.
    10. Wait a few minutes. It seems that it can take a minute or two before the key is functional on their system.

    The Calendar “URL”s are now IDs so you should edit your widget settings and change the URL to an ID. The IDs look like an email address.

    Give it a go and let me know if you have any trouble.

    Thank you for your quick update.
    It doesn’t seem to work for me (WordPress 4.0) as i still only see the loading gif and no data is shown.
    But it seems nevertheless communicating with Google. Watching the activity of the calendar api on the google developer site, i can see my connect’s attempts resulting on a “client side error (4xx)” for all of them.

    I left the box blank on step 7.

    My google calendar is not public, but it was working with api v.2 (the whole point of your widget ??

    Thanks again

    Plugin Author Poco

    (@poco)

    Can you check the javascript console from your browser? It will include more detail of the errors you are getting and the server responses. They often include some useful error messages.

    If you web page is public can you post the link so that I can take a look at it?

    This is what i get :

    error: {errors:[{domain:global, reason:notFound, message:Not Found}], code:404, message:Not Found}
    code: 404
    errors: [{domain:global, reason:notFound, message:Not Found}]
    0: {domain:global, reason:notFound, message:Not Found}
    domain: “global”
    message: “Not Found”
    reason: “notFound”
    message: “Not Found”

    I tried to change the privacy of the calendar and checked the “public” box and the problem was solved. Everything works fine when the calendar is set to “public”.

    Problem is, i don’t want this calendar to be public… I just want to share this private agenda on pass protected page for my subscribers.
    Why Google makes it more and more difficult to share this kind of calendar ?? Even with api v.2 we had to manage some tricks to do it.

    Do you think you’ll be able to solve this (being able to pass private calendars through you widget) with api v.3 ?

    Thank you for your time.

    Plugin Author Poco

    (@poco)

    I was thinking about it, and it now that they are tracking the number of queries, and the data is pretty static, it should be possible to reduce the traffic to their site by caching this on our own servers.

    If anyone is concerned about more than 500,000 queries per day on their site (I’m not) then it will make sense to cache the data. Given your question about authentication, we should be able to do some sort of private authentication on the WordPress server to get the data and then surface it however you want. So both problems would be solved by doing the query server side.

    It means moving the query in to PHP (I believe there are libraries available) and surfacing it through the wordpress pages using the wordpress Auth and caching the results for some time.

    This might be a bit beyond the scope of what I am able to do in the near future. But if someone else wants to take it on, that sounds like a new plugin.

    Plugin Author Poco

    (@poco)

    Alright, I’ve updated the settings and published version 1.4.0. I have also updated the readme settings screen with detailed instructions on how to get your Google API Key and update the calendar IDs.

    Everyone please let me know if it is or is not working.

Viewing 15 replies - 1 through 15 (of 20 total)
  • The topic ‘403 Forbidden on Cal URL – Deprecated API?’ is closed to new replies.