尝试在GAE中使用google api客户端访问google places
【腾讯云】亏本大甩卖,服务器4核16G 1年370元(带宽12M,系统盘120GB SSD盘,月流量2000GB)!!!!!!
云产品 配置 价格
服务器 1核2G,带宽5M,系统盘50GB SSD盘,月流量500GB 38元/年
MySQL 1核1G 19元/年
服务器 16核32G,带宽18M,系统盘250GB SSD盘,月流量5000GB 1197元/年
点我进入腾讯云,查看更多详情

I am trying to access google places api from appengine using code like this:

String PLACES_DETAILS_URL = "https://maps.googleapis.com/maps/api/place/details/json";

       // setup up the HTTP transport
    HttpTransport transport = new UrlFetchTransport();
    // add default headers
    GoogleHeaders defaultHeaders = new GoogleHeaders();
    transport.defaultHeaders = defaultHeaders;
   transport.defaultHeaders.put("Content-Type", "application/json");
    JsonHttpParser parser = new JsonHttpParser();
    parser.jsonFactory = new JacksonFactory();
    transport.addParser(parser);

    // build the HTTP GET request and URL
    HttpRequest request = transport.buildGetRequest();
    request.setUrl(PLACES_DETAILS_URL);
    GenericData data = new GenericData();
    data.put("reference", restaurantGoogleId);
    data.put("sensor", "false");
    data.put("key", ApplicationConstants.GoogleApiKey);
    JsonHttpContent content = new JsonHttpContent();
    content.jsonFactory=new JacksonFactory();
    content.data = data;
    request.content = content;

    try {
        HttpResponse response =  request.execute();
        String r = response.parseAsString();

        r=r;
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

I don't know even if this is the recommended way. If so, why this doesn't work?If I put a request in the browser directly it works, but with this code it always returns me "Request Denied".

Thanks in advance.

#0

At the end it was easy, I mixed get and post verbs:

HttpTransport transport = new UrlFetchTransport();
        // add default headers
        GoogleHeaders defaultHeaders = new GoogleHeaders();
        transport.defaultHeaders = defaultHeaders;
       transport.defaultHeaders.put("Content-Type", "application/json");
       JsonCParser parser = new JsonCParser();
        parser.jsonFactory = new JacksonFactory();
        transport.addParser(parser);

        // build the HTTP GET request and URL
        HttpRequest request = transport.buildGetRequest();
        request.setUrl("https://maps.googleapis.com/maps/api/place/details/json?reference=CmRYAAAAciqGsTRX1mXRvuXSH2ErwW-jCINE1aLiwP64MCWDN5vkXvXoQGPKldMfmdGyqWSpm7BEYCgDm-iv7Kc2PF7QA7brMAwBbAcqMr5i1f4PwTpaovIZjysCEZTry8Ez30wpEhCNCXpynextCld2EBsDkRKsGhSLayuRyFsex6JA6NPh9dyupoTH3g&sensor=true&key=<APIKEY>");


        try {
            HttpResponse response =  request.execute();
            String r = response.parseAsString();

推荐文章

程序接收信号:“EXC_BAD_ACCESS”

程序接收信号:“EXC_BAD_ACCESS”

推荐文章

使用Tcollection在dephi中保存vcl对象引用

使用Tcollection在dephi中保存vcl对象引用

推荐文章

在XNA游戏类之外加载三维模型

在XNA游戏类之外加载三维模型

推荐文章

Scala构造函数

Scala构造函数

推荐文章

编号列表中的代码块(Wiki语法)

编号列表中的代码块(Wiki语法)

推荐文章

传递参数时,oracle查询返回0条记录

传递参数时,oracle查询返回0条记录

推荐文章

在单元测试中运行所有stylecop规则

在单元测试中运行所有stylecop规则

推荐文章

使此sql查询运行更快所需的索引

使此sql查询运行更快所需的索引

推荐文章

使用maven创建两个具有重叠类的工件

使用maven创建两个具有重叠类的工件

推荐文章

呈现HTML内容的核心文本

呈现HTML内容的核心文本

推荐文章

如何将视图从纵向模式更改为横向模式?

如何将视图从纵向模式更改为横向模式?

推荐文章

MySql选择一个列表中的项及其存储在另一个表中的名称项?

MySql选择一个列表中的项及其存储在另一个表中的名称项?

推荐文章

对象是否为空?

对象是否为空?

推荐文章

实体框架查询中难以置信的重复

实体框架查询中难以置信的重复

推荐文章

可以在iText中使用样式表吗?

可以在iText中使用样式表吗?

推荐文章

取消嵌套HTML标记

取消嵌套HTML标记