Google calendar setup with multiple Service Providers

Hi,

We have setup the GCal integration within Appointments+ and are trying to get it working with multiple service providers, each with their own Google Calendar account/ID.

From testing it appears that the plugin will only handle one private key file and Google API email address, so we have created a main Google API account for use across all Service Providers, with the intention that they will each have a separate calendar with a unique ID.

However, the plugin only sends the appointment information to the calendar ID specified in the main backend, not the calendar ID specified in the API section of each Service Providers profile. This happens even if the backend is set to only send to the main ID when no Service Provider is specified.

Removing the API/ID information from the main backend results in Google Calendar integration not working at all.

Is there any way for the plugin to use the calendar IDs or API information in the individual Service Provider profile pages instead of being overridden by the main section? We do not especially need the main section to integrate at all, but this issue happens whether or not the main section is set to integrate.

Regards,

SteveB

  • aecnu
    • WP Unicorn

    Greetings SteveB,

    Thank you for bringing this to our attention.

    Is there any way for the plugin to use the calendar IDs or API information in the individual Service Provider profile pages instead of being overridden by the main section?

    I believe that our lead developer and Chief of this plugin Hakan has a beta goign on with further GCal integration and therefore I will see if I can get the lead developer in here with his invaluable insight into this plugin for his advice/advise for us.

    Though this may take a bit longer then a normal ticket, I will try to get him in here asap.

    Cheers, Joe

  • Hakan
    • The Incredible Smush

    From testing it appears that the plugin will only handle one private key file and Google API email address, so we have created a main Google API account for use across all Service Providers, with the intention that they will each have a separate calendar with a unique ID.

    That is not correct. Each provider should have his own private key file and API email address and enter the settings in their profile pages, e.g.: http://example.com/wp-admin/profile.php

    Whether you let your service providers to integrate with their own Google Calendar account using their profile page. Note: Each of them will need to set up their accounts following the steps as listed in Instructions below (will also be shown in their profile pages) and you will need to upload their key files yourself using FTP.

    In summary, 1 individual Google account + 1 selected calendar + 1 private key file set is required per service provider.

  • pxwm
    • WP Core Meltdown

    Hi Hakan,

    Many thanks for your prompt reply.

    We initially tried setting up a private key as per the instructions on the Google Calendar tab for each service provider and I have detailed below the results:-

    Initial steps

    1. We set the ‘no preference’ Service Provider to ‘no integration’ and left all the key fields blank.

    2. We then setup each Service Provider to ‘Integration’ and created a private key for each Service Provider and their own Google calendar.

    Carrying out a test connection caused the page to fail loading.

    The only way we could get the test connection to pass was to enter the same private key to all Service Providers including the ‘no preference’.

    Unfortunately this then does not populate the individual Google calendars.

    We did find some posts relating to the error message when the test connection fails (Cannot modify header information – headers already sent), however these only indicated there could be spaces in the theme functions.php, which we have checked for. This error only occurs when trying to use different key files or different Google calendar information for different Service Providers.

    We have also checked by using the twenty-twelve theme but problems still present.

    Any suggestions?

    Regards

    SteveB

  • Hakan
    • The Incredible Smush

    We did find some posts relating to the error message when the test connection fails (Cannot modify header information – headers already sent)

    That is an important symptom. Please deactivate all of your plugins except A+, switch to the default theme and try again.

    Please also paste exact error message here, if you get any.

    Cheers,

    Hakan

  • pxwm
    • WP Core Meltdown

    Hi Hakan,

    Many thanks for your reply.

    Based on your reply we have just retested:-

    1. with only A+ and WPMU dev plugins installed and using the Twenty Eleven theme

    2. setting up 2 x Service providers each with their own private key and calendar ID

    3. we then tested with all combinations of the back-end Google calendar tab.

    e.g.

    a. 1st field – ‘appointments will be sent to google calendar for’: we set to to ‘All’ and ‘no preference case’

    b. 2nd field – ‘integration mode’ we have set to ‘integration disabled’ and ‘A+ -> GCal’

    c. 3rd field – ‘key file name’: left blank and populated with Service Provider1 key

    d. 4th field – ‘service account email address’: left blank and populated with Service Provider1 details

    e. 5th field – ‘calendar to be used: left blank and populated with Service Provider1 details

    4. Out of all these combinations the only one that partially worked was when we set fields 3, 4 & 5 to Service provider1 and then the test connection worked in the main back-end and Service Provider1 but not Service Provider2.

    The error code in all of the cases it failed being:-

    Warning: Cannot modify header information – headers already sent by (output started at /home/pxwmcouk/public_html/appoint2/wp-admin/includes/template.php:1642) in /home/pxwmcouk/public_html/appoint2/wp-includes/pluggable.php on line 876

    Regards

    SteveB

Thank NAME, for their help.

Let NAME know exactly why they deserved these points.

Gift a custom amount of points.