I have a simple iOS app into which I am integrating Google Maps. However, the API key I've provided results in several of these error messages when my map view is displayed:
ClientParametersRequest failed, 3 attempts remaining (0 vs 5). Error Domain=com.google.HTTPStatus Code=400 "The operation couldn’t be completed. (com.google.HTTPStatus error 400.)" UserInfo=0x1818bf40 {data=<CFData 0x18137410 [0x302aec8]>{length = 145, capacity = 256, bytes = ...}}
Here is what I have already tried to no avail:
Calling [GMSServices provideAPIKey:] as the first line of code within didFinishLaunchingWithOptions
Double-checking that my API key is correct and is an iOS API key (I copy/pasted it directly from the Google Cloud Console into my app)
Providing the API key both with {} and without
Confirming my bundle name by outputting it with [[Bundle mainBundle] bundleIdentifier]
Omitting bundle identifier restrictions altogether
Regenerating the API key
I am not sure what else to try. My bundle name is in this format: net.company.MyApp and I have entered it exactly that way into the Google Cloud Console (I know bundle IDs are case-sensitive).
Could it be that Google doesn't support bundle identifiers of a certain type (e.g., with upper-case letters or beginning with net.)?
You need to enable maps service in Google developer Console. In new layout, choose APIs & auth section and APIs subitem in the left column. Next, in the right one enable Maps SDK for iOS by clicking on the Off button.
I found the issue. Google Maps SDK for iOS must be enabled for keys to work. I already had Google Maps API v3 enabled and I thought that was enough, but it wasn't.
if you are doing a manual integration of SDK, it is no longer supported in latest version. Also GoogleMapsM4B version needs to be deleted and only keep GoogleMaps SDK in your project. This worked for me.
Related
I'm trying to integrate Zendesk messaging in my iOS app with this doc
and I can't init Zendesk properly.
If I add only ZendeskSDKMesaging framework as it written in the documentation, I receive the error "Cannot find 'Zendesk' in scope". So I'm adding ZendeskCoreSDK but now it has no initialisation method as in the instruction Zendesk.initialize(withChannelKey..., it only shows the one for SupportSDK with appID and clientID, not with channel key. Did anyone faces with the same problem?
Places SDK error: Error Domain=com.google.places.ErrorDomain Code=-3 "An internal error occurred in the Places SDK library. If you believe this error represents a bug, please file a report using the instructions on our community and support page (https://developers.google.com/places/ios-sdk/support)." UserInfo={NSLocalizedFailureReason=An internal error occurred in the Places SDK library. If you believe this error represents a bug, please file a report using the instructions on our community and support page (https://developers.google.com/places/ios-sdk/support)., NSUnderlyingError=0x6000036d3090 {Error Domain=com.google.places.server.ErrorDomain Code=-1 "(null)" UserInfo={NSUnderlyingError=0x6000036d2dc0 {Error Domain=NSCocoaErrorDomain Code=3840 "JSON text did not start with array or object and option to allow fragments not set." UserInfo={body=<48545450 2f312e31 20343034 204e6f74 20466f75 6e640d0a 436f6e74 656e742d 54797065 3a207465 78742f68 746d6c3b 20636861 72736574 3d555446 2d380d0a 44617465 3a204d6f 6e2c2031 34204f63 74203230 31392031 333a3430 3a303520 474d540d 0a457870 69726573 3a204d6f 6e2c2031 34204f63 74203230 31392031 333a3430 3a303520 474d540d 0a436163 68652d43 6f6e7472 6f6c3a20 70726976 6174652c 206d6178 2d616765 3d300d0a 436f6e74 656e742d 4c656e67 74683a20 390d0a0d 0a4e6f74 20466f75 6e64>, contentID=gtlr_23, GTLRStructuredError=GMSx_GTLRErrorObject 0x600003523d80: {code:3840 message:"The data couldn’t be read because it isn’t in the correct format."}, NSDebugDescription=JSON text did not start with array or object and option to allow fragments not set.}}}}}
Error Image
Please note that the Place Picker has been deprecated as of January 29, 2019. This feature was turned off on July 29, 2019, and is no longer be available after that date. Please note that the old users that used Places SDK for iOS/Android are the only one who can still use the Place Picker during the deprecation period. The use of Places SDK for both platforms are now through enabling Places API and does not support the use of Place Picker anymore. You may see the deprecation notice in https://developers.google.com/places/ios-sdk/placepicker.
PlacePicker is no more.
Check out the following:
No Billing account linked to this project.
Use of an old Places SDK.
Reaching requests limits.
Restricting App Key.
If all of this didn't fix your problem, I would recommend reaching out to Google Support Team as this error commonly has something to do with your configuration in the GCP console wherein only the support team of Google Maps Platform can assist you.
after working with autocomplete UI Control https://developers.google.com/places/ios-api/ i got error in XCODE console when i am going to search in search bar that Google provide.
I have use Google Maps frameworks with use of pods.
Error :
error : -6
Set accountToAuthorizerBlock to be able to send authorized requests.
I'm an engineer on the Places API for iOS team. This is an internal log message that was printed by mistake. It shouldn't actually affect the functionality of your app and it's fine to ignore it.
I created an app in Unity with Google Play Leaderboard support. I could easily make it work on Android, then I moved to OSX to build it for iPhone too.
First I got a problem, that Apple won't accept any bundle identifier with the '_' character in it, but my Android app bundle identifier had 2 of them...
However I found out, that in the Google Developer Console I can link another app to my app (to use the same Leaderboard) for iOS too, so I was quite happy. Unfortunately this doesn't seem to work. I get the *redirect_uri_mismatch* error message every time I try to log in.
On Android I used the UnityGPGPlugin but as it didn't work for me on iOS, I tried the PlayGameServices too. In UnityGPGPlugin I could set only the Application ID, so I thought that's why it is not working. In the PlayGameServices plugin there are two fields, one for the Application ID and one for the Client ID that made it look like that's really what I need. Unfortunately the error is still present and I really don't know what I could do with it. Here is the well known message:
Error: redirect_uri_mismatch
Request Details
cookie_policy_enforce=false
scope=https://www.googleapis.com/auth/appstate
https://www.googleapis.com/auth/games
https://www.googleapis.com/auth/plus.login
https://www.googleapis.com/auth/plus.moments.write
https://www.googleapis.com/auth/plus.me
https://www.googleapis.com/auth/plus.profile.agerange.read
https://www.googleapis.com/auth/plus.profile.language.read
https://www.googleapis.com/auth/plus.circles.members.read
response_type=code
access_type=offline
redirect_uri= < my bundle identifier without '_' characters >:/oauth2callback
state=16885367
gpsdk=1.5.0
verifier=12647966
display=page
client_id=123456789123-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.apps.googleusercontent.com
hl=en
The debug log contains only this:
2014-03-16 14:21:19.507 <my app>[1699:60b] GPGSAuthenticateWithCallback.
2014-03-16 14:21:19.509 <my app>[1699:60b] GPGSManager initializing and authenticating.
2014-03-16 14:21:19.512 <my app>[1699:60b] GPPSignIn initialized.
2014-03-16 14:21:19.514 <my app>[1699:60b] GPPSignIn attempting sign in now.
-> applicationWillResignActive()
-> applicationDidEnterBackground()
Does anyone know how could I solve this problem?
Thanks in advance!
Edit:
Maybe it wasn't obvious, but I have 2 bundle identifiers, both of them are linked to the same game service in Google Play Developer Console. The com.x.a_b_c belongs to the Android app, the com.x.abc belongs to the iOS app.
I was having redirect_uri_mismatch error while using UnityGPGPlugin. I was using "123456789123" as my Application ID instead of "123456789123-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx".
However, I manage to get through the Google Sign In page after changing all my setup to "123456789123-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" as my Application ID. Including the GPGApplicationID in Info.plist.
Sad to say that I am having another problem now, but at least that's how I manage to get through that error. :)
I am working in an application and trying to adding Google API to use Google drive where user can store/share my application files. I found good tutorial for that Google Drive tutorial I downloaded the sample code worked on it, I downloaded the code yesterday it was
working good the files are storing as expected, Today agin I am checking, every time I am getting error meesage. please find the console message
An error occurred: Error Domain=com.google.GTLJSONRPCErrorDomain
Code=400 "The operation couldn’t be completed. (Unsupported content
with type: application/json-rpc; charset=utf-8)" UserInfo=0x75b11f0
{error=Unsupported content with type: application/json-rpc;
charset=utf-8, GTLStructuredError=GTLErrorObject 0x75a3f90:
{message:"Unsupported content with type: application/json-rpc;
charset=utf-8" code:400 data:[1]},
NSLocalizedFailureReason=(Unsupported content with type:
application/json-rpc; charset=utf-8)}
can some one suggest me the alternative to integrate the Google drive in iOS app.
if this is happen with the sample code it self how could be the Google API for iOS reliable to integrate in our apps.
Note: I created the kClientSecret and kClientId also to use DrEdit sample code given by the Google.
Very recent changes in the Google Drive service obliges you to specify a mime type different than "application/json-rpc" when uploading a file. This mime type is used by default when using the ObjectiveC SDK, so you need to specify one.
To make the sample that ships with the SDK work, open DriveWindowController.m and in the "uploadFileAtPath:" method under "newFile.title = filename;" add "newFile.mimeType = #"image/png";". Change "image/png" to the MIME type of the file you are uploading.
GTLDriveFile *newFile = [GTLDriveFile object];
newFile.title = filename;
newFile.mimeType = #"image/png";
Edited: It also seems that there is temporary problem on Google's servers