Google Play Services iOS SDK: Insufficient Resolution

I searched a bit but still haven't found a solution. We have an iOS based game and we are trying to integrate Google Play services. Follow the instructions here:

https://developers.google.com/games/services/ios/quickstart

I have the following permissions set in Google Dev Console: (maybe more than I need)

API Driver
SDK Drive Manage Google Play
Games Google Play Game Services
Google+
APIs Google+ Domains API

When I try to login with my google email / password, it prints the following command to the console, even though it authenticates just fine.

This is how I request permissions and login:

GPGManager.sharedInstance().signInWithClientID(GOOGLE_CLIENT_ID, silently: false,
    withExtraScopes: [
        "https://www.googleapis.com/auth/plus.login",
        "https://www.googleapis.com/auth/plus.me",
        "https://www.googleapis.com/auth/userinfo.email",
        "https://www.googleapis.com/auth/userinfo.profile",
        "https://www.googleapis.com/auth/games",
        "https://www.googleapis.com/auth/drive.appdata"
    ]
)
2014-12-20 15:49:17.352 TriviaBurst[24003:2677075] -[PFCommandResult boolValue]: unrecognized selector sent to instance 0x7d974120
2014-12-20 15:52:55.403 TriviaBurst[24003:2679986] INFO: Auth operation started: SIGN IN
2014-12-20 15:52:55.404 TriviaBurst[24003:2679986] INFO: Auth operation SIGN IN finished with status VALID
2014-12-20 15:52:55.408 TriviaBurst[24003:2677075] ERROR: Attempting to get name of an invalid Player
2014-12-20 15:52:55.408 TriviaBurst[24003:2677075] ERROR: Attempting to get avatar URL of an invalid Player
2014-12-20 15:52:55.408 TriviaBurst[24003:2677075] ERROR: Attempting to get id of an invalid Player
2014-12-20 15:52:55.408 TriviaBurst[24003:2677075] ERROR: Attempting to get title of an invalid Player
2014-12-20 15:52:55.408 TriviaBurst[24003:2677075] ERROR: Attempting to get current xp of an invalid Player
2014-12-20 15:52:55.408 TriviaBurst[24003:2677075] ERROR: Attempting to get last level up timestamp of an invalid Player
2014-12-20 15:52:55.408 TriviaBurst[24003:2677075] ERROR: Attempting to get current level of an invalid Player
2014-12-20 15:52:55.408 TriviaBurst[24003:2677075] ERROR: Attempting to get level number of an invalid PlayerLevel
2014-12-20 15:52:55.408 TriviaBurst[24003:2677075] ERROR: Attempting to get minimum xp of an invalid PlayerLevel
2014-12-20 15:52:55.408 TriviaBurst[24003:2677075] ERROR: Attempting to get maximum xp of an invalid PlayerLevel
2014-12-20 15:52:55.415 TriviaBurst[24003:2677075] ERROR: Attempting to get next level of an invalid Player
2014-12-20 15:52:55.416 TriviaBurst[24003:2677075] ERROR: Attempting to get level number of an invalid PlayerLevel
2014-12-20 15:52:55.416 TriviaBurst[24003:2677075] ERROR: Attempting to get minimum xp of an invalid PlayerLevel
2014-12-20 15:52:55.416 TriviaBurst[24003:2677075] ERROR: Attempting to get maximum xp of an invalid PlayerLevel
2014-12-20 15:52:55.527 [Core] (Error) __49-[GPGService executeOperation:completionHandler:]_block_invoke:[main] Server Operation Failed [appstate.states.list]
    Error: The operation couldn’t be completed. (Insufficient Permission)
    Error Full: Error Domain=com.google.GTLJSONRPCErrorDomain Code=403 "The operation couldn’t be completed. (Insufficient Permission)" UserInfo=0x7a6bfd00 {error=Insufficient Permission, GTLStructuredError=GTLErrorObject 0x7a6be700: {message:"Insufficient Permission" code:403 data:[1]}, NSLocalizedFailureReason=(Insufficient Permission)}
2014-12-20 15:52:55.674 TriviaBurst[24003:2677075] VERBOSE: Automatically seeded event cache.
2014-12-20 15:52:55.746 TriviaBurst[24003:2677075] VERBOSE: Automatically seeded achievement cache.
2014-12-20 15:52:56.138 TriviaBurst[24003:2677075] WARNING: Could not automatically seed snapshot cache.

      

+3


source to share


1 answer


Check the OAuth 2.0 scope in the authentication request. It shouldn't be read-only. here's an example of an OAuth 2.0 calendar.



    // Creates the auth controller for authorizing access to Google Calendar API.
    - (GTMOAuth2ViewControllerTouch *)createAuthController {
        GTMOAuth2ViewControllerTouch *authController;
        NSArray *scopes = [NSArray arrayWithObjects:kGTLAuthScopeCalendar, nil];
        authController = [[GTMOAuth2ViewControllerTouch alloc]
                          initWithScope:[scopes componentsJoinedByString:@" "]
                          clientID:kClientID
                          clientSecret:kClientSecret
                          keychainItemName:kKeychainItemName
                          delegate:self
                          finishedSelector:@selector(viewController:finishedWithAuth:error:)];
    return authController;
} 

      

+1


source







All Articles