oauth 2.0 - 403 Forbidden Error While accessing Google MapsAPI -


i trying establish connectivity google maps api using service account. have project in place in google maps api, , have relvant clientid, .p12 key, email address. using google libraries credentials , call api below.

code:

package mapsengine;import com.google.api.client.auth.oauth2.credential; import com.google.api.client.googleapis.auth.oauth2.googlecredential; import com.google.api.client.http.httptransport; import com.google.api.client.http.javanet.nethttptransport; import com.google.api.client.json.jsonfactory; import com.google.api.client.json.jackson2.jacksonfactory; import com.google.api.services.mapsengine.mapsengine; import com.google.api.services.mapsengine.model.map; import com.google.api.services.mapsengine.model.layer; import java.io.file;import java.io.ioexception; import java.util.collections; public class main {  /** provide id of map wish read. */    private static final string map_id = "my map id gave"; private static final string application_name = "google-mapsengineapisample/1.0";  private static final httptransport http_transport = new nethttptransport(); private static final jsonfactory json_factory = new jacksonfactory();   private static final string service_account_email= "asajdsjdheemqe@developer.gserviceaccount.com"; 

private static credential authorize() throws exception { googlecredential credential = new googlecredential.builder().settransport(http_transport ) .setjsonfactory(json_factory)
.setserviceaccountid(service_account_email) .setserviceaccountscopes(collections.singleton("https://www.googleapis.com/auth/mapsengine"))
.setserviceaccountprivatekeyfromp12file(new file("key.p12")) .build();
credential.refreshtoken();
system.out.println(credential); return credential;

}  public static void main(string[] args) {    try {      // authorize application access user's data.       credential credential = authorize();      // create authorized maps engine client credential.       mapsengine mapsengine = new mapsengine.builder(http_transport, json_factory, credential) .             setapplicationname(application_name).build();      system.out.println(mapsengine);     // make request details of particular map.   //  map map = mapsengine.maps().get(map_id).execute();              system.out.println(map.getname());        system.out.println(map.getdescription());        }  catch (ioexception e) {       system.out.println(e.getmessage());      } catch (throwable t) {          t.printstacktrace();     } } 

}`

i getting error 403 forbidden { "code" : 403, "errors" : [ { "domain" : "mapsengine", "location" : "id", "locationtype" : "parameter", "message" : "permission denied (reader access required).", "reason" : "noreaderaccess" } ], "message" : "permission denied (reader access required)." }

but able see service email account using has edit access, tried giving view access. else missign here. please help.

you need go map, , add service_account_email address , give can edit or view premission follow this: https://support.google.com/mapsengine/answer/4618526?hl=en


Comments

Popular posts from this blog

c++ - QTextObjectInterface with Qml TextEdit (QQuickTextEdit) -

xcode - Swift Playground - Files are not readable -

jboss7.x - JBoss AS 7.3 vs 7.4 and differences -