Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

status is always "success" on invalid API Key #623

Open
andrmoel opened this issue Feb 3, 2023 · 3 comments
Open

status is always "success" on invalid API Key #623

andrmoel opened this issue Feb 3, 2023 · 3 comments
Assignees
Labels
status: will not fix Invalid (untrue/unsound/erroneous), inconsistent with product, not on roadmap.

Comments

@andrmoel
Copy link

andrmoel commented Feb 3, 2023

I do have the following code example. The API key is not valid. I expect this component to get an ERROR status in case the API key is invalid. But what I get is a SUCCESS status.

<Wrapper apiKey="I am an invalid API Key" render={(status) => {
    console.log('STATUS: ' + status);

    return <div/>;
}}/>

For me, it looks like a bug. Or is this behavior wanted?

@andrmoel andrmoel added triage me I really want to be triaged. type: bug Error or flaw in code with unintended results or allowing sub-optimal usage patterns. labels Feb 3, 2023
@wangela
Copy link
Member

wangela commented Feb 3, 2023

@andrmoel Thank you for opening this issue. 🙏
Please check out these other resources that might help you get to a resolution in the meantime:

This is an automated message, feel free to ignore.

@nora-soderlund
Copy link

nora-soderlund commented Feb 19, 2023

This would be an issue with the @googlemaps/js-api-loader package, see: https://github.com/googlemaps/react-wrapper/blob/main/src/index.tsx#L83

But from a quick look, it doesn't seem like the JavaScript API supports any error handling for API key issues other than its own error handling. The "error" status here would only appear if the JavaScript API itself couldn't be fetched or parsed from the Google API server.

@usefulthink
Copy link
Contributor

That is something that just can't be implemented with the way the Google Maps API is loaded.

The reason is relatively simple: The API key is not (and can't be) validated on the server. So when the API is loaded, it doesn't yet know if the key is valid. This validation needs another request that is sent after the API is loaded.

In order to avoid delaying your map initialization any more than neccessary, the API will report load success once it is ready to be used. Validating the API key happens "in the background".

There is only one way to know that the API key is invalid: you can specify a callback function window.gm_authFailure that will get called if the validation fails. But when this is called (if even), the initialization is likely already complete.

@usefulthink usefulthink added status: will not fix Invalid (untrue/unsound/erroneous), inconsistent with product, not on roadmap. and removed type: bug Error or flaw in code with unintended results or allowing sub-optimal usage patterns. triage me I really want to be triaged. labels Feb 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
status: will not fix Invalid (untrue/unsound/erroneous), inconsistent with product, not on roadmap.
Projects
None yet
Development

No branches or pull requests

4 participants