The migration API does not work with consumer Google Accounts (like @gmail.com). For Google Apps for Business and EDU, you can use an OAuth token authorized by the regular user and migrate mail directly to that user account as long as the domain administrator has allowed user email migrations. Instructions for admins to do so are at:
https://support.google.com/a/answer/176213
under Google Apps Requirements. This API is how the Google Apps Migration for MS Outlook tool performs user-authenticated migration of mail.