To assign events to a Public calendar, you will need to first get the calendar Id. Navigate to the calendar in question where you need to insert the events. The ID of the calendar will be shown in the URL when viewing the calendar detail page.
For example, if this were the URL displayed:
The id is the 15 characters after the "cal_lkid=" value - 0233000000020y1. Keep in mind that this is a sample ID, not a real one, and that IDs are unique. As such, each public calendar is going to have it's own unique ID. As such, if inserting events in mass to different calendars, you will have to find multiple IDs for your different calendars.
You can also get the Calendar Id by going to Setup | Customize | Activities | Public Calendar and Resources. Click on the Calendar and you should see the id on the URL bar. Public Calendar and Resources id usually starts with '023’.
Once you know your calendar ID(s), you can use them to create your events via the API. When doing this, you will map the calendar ID to the Owner Id field in salesforce, and upload them using the DataLoader. If done correctly, the events should show in your public calendar(s) after the insert is completed.
Below are steps how to insert the calendar ID's:
1. Open the Data Loader.
2. Login > Choose the object > check Show all objects to see a complete list of the objects.
3. Click on Browse... to select your CSV file (which you have save and which includes the calendar ID(s)) > Ok.
4. Define how the columns in your CSV file map to Salesforce fields.
5. Select the directory where your success and error files will be saved.
6. Click on Finish