Heres the deal,
On googles developer website they have at the bottom of each api function description a tool to try out the api, specifically I am using the calendar api
I was getting a 404 error, and I assumed it was a credentials problem since that's what other people online wrote about.
Currently, when I browse the Google Calendar website for each of my calendars and visit Share This Calendar, I see the email address of my service account listed with credentials to "Make changes to events". That's on both the origin calendar and the destination calendar.
So I couldn't figure out how to set up my credentials differently.
It turned out not to be a problem with credentials at all.
I had been using the "eid" from the URL of the Google Calendar event webpage and assumed it was the Event ID. It's not.
When I use a valid Event ID, the "move" command worked as documented here.
To move an event using events.move, you should have write access to both the calendars. I tried to move to different gmail account but it gave 404 error. But when I tried with moving to secondary calendar, it worked for me. developers.google.com/google-apps/calendar/concepts