Reputation: 4249
I am getting following error while accessing google drive picker, however the picker shows up properly without any error.
Failed to execute 'postMessage' on 'DOMWindow': The target origin provided ('https://docs.google.com') does not match the recipient window's origin ('http://localhost').
Invalid 'X-Frame-Options' header encountered when loading 'https://docs.google.com/picker?protocol=gadgets&origin=http%3A%2F%2Flocalho…%3Atrue%7D))&rpctoken=e2x1eop3h1rr&rpcService=2qeo0ns6gu13&thirdParty=true': 'ALLOW-FROM http://localhost' is not a recognized directive. The header will be ignored.
PSB the screenshot from my developer console
Also I have referred to this question Google Drive Picker - Developer Key is Invalid Error but I think there has been some changes in google api so this thing is not working.
Code snippet -
var picker = new google.picker.PickerBuilder()
.setLocale(lkGoogleSettings.locale)
.setOAuthToken(accessToken)
.setCallback(pickerResponse)
.setOrigin(lkGoogleSettings.origin);
Thanks
Upvotes: 13
Views: 3766
Reputation: 109
As some of the commentators have mentioned, the X-Frame-Option
error is known bug in Chrome
. You can see a long discussion about it here.
Now, for the real problem: origin matching
. Google Drive does not play nice with localhost, with or without port, regardless of whether you add it to your origins in your permissions for your client id.
There is, however, hope. If you set up a domain in your hostfile to point to localhost, you can then add the domain to your origin in your Google App console, and everything works as expected!
I do this all the time in order to test my applications. For example:
dev.mysite.com
to your hostfile
(/etc/hosts in Mac). Google App Console
, and you should be good to go. dev.mysite.com:80
* and Drive Picker should now function correctly.*Note: you must serve on port 80. Google does not play nice with ports at all, so when you go to your site, the address must be dev.mysite.com
with no port.
Upvotes: 9