如何将Google QPX API与Java一起用于航班搜索?

如何将Google QPX API与Java一起用于航班搜索?,api,google-api,httprequest,google-api-java-client,Api,Google Api,Httprequest,Google Api Java Client,我正在尝试构建一个简单的Java代码,该代码使用GoogleQPXAPI获取从纽约到伦敦的航班选项。我与谷歌签约并获得了API_密钥 我阅读了文档,但不幸的是,我找不到任何示例来说明如何做 以下是我迄今为止所做的尝试: import com.google.api.services.qpxExpress.model.*; import java.util.*; public class Main { public static void main(String[] args)

我正在尝试构建一个简单的Java代码,该代码使用GoogleQPXAPI获取从纽约到伦敦的航班选项。我与谷歌签约并获得了API_密钥

我阅读了文档,但不幸的是,我找不到任何示例来说明如何做

以下是我迄今为止所做的尝试:

import com.google.api.services.qpxExpress.model.*;
import java.util.*;

public class Main 
{
    public static void main(String[] args) 
    {   
        // Passengers
        PassengerCounts passengers = new PassengerCounts();
        passengers.setAdultCount(2);

        // Slice
        List<SliceInput> slices = new ArrayList<SliceInput>();

        SliceInput slice = new SliceInput();
        slice.setOrigin("JFK"); // John Kennedy Airport in Ney York
        slice.setDestination("LHR"); // London Heathrow
        slice.setDate("2015-07-01");
        slices.add(slice);


        // Options request
        TripOptionsRequest tripOptions = new TripOptionsRequest(); 
        tripOptions.setPassengers(passengers);
        tripOptions.setSlice(slices);


        // Search request
        TripsSearchRequest tripSearchReq = new TripsSearchRequest();
        tripSearchReq.setRequest(tripOptions);

        // Next steps?
        // Setting up QPXExpress?

    }
}
导入com.google.api.services.qpxExpress.model.*;
导入java.util.*;
公共班机
{
公共静态void main(字符串[]args)
{   
//乘客
乘客人数=新乘客人数();
乘客:设置成人计数(2);
//切片
列表切片=新的ArrayList();
SliceInput slice=新的SliceInput();
slice.setOrigin(“JFK”);//纽约州肯尼迪机场
slice.setDestination(“LHR”);//伦敦希思罗机场
设定日期(“2015-07-01”);
切片。添加(切片);
//选项请求
tripOptions请求tripOptions=新建tripOptions请求();
tripOptions.设置乘客(乘客);
tripOptions.setSlice(切片);
//搜索请求
TripsSearchRequest tripSearchReq=新TripsSearchRequest();
tripSearchReq.setRequest(tripOptions);
//下一步?
//设置QPXExpress?
}
}
如果有人能帮我完成代码,我将不胜感激。
提前感谢。

这是一个简单的代码,已成功测试,希望对您有所帮助

package com.airline.api;

import java.io.IOException;
import java.util.*;

import javax.swing.text.View;

import com.google.api.client.auth.oauth2.Credential;
import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;
import com.google.api.client.http.HttpRequestInitializer;
import com.google.api.client.http.HttpTransport;
import com.google.api.client.json.JsonFactory;
import com.google.api.client.json.jackson2.JacksonFactory;
import com.google.api.services.qpxExpress.QPXExpressRequestInitializer;
import com.google.api.services.qpxExpress.QPXExpress;
import com.google.api.services.qpxExpress.model.FlightInfo;
import com.google.api.services.qpxExpress.model.LegInfo;
import com.google.api.services.qpxExpress.model.PassengerCounts;
import com.google.api.services.qpxExpress.model.PricingInfo;
import com.google.api.services.qpxExpress.model.SegmentInfo;
import com.google.api.services.qpxExpress.model.SliceInfo;
import com.google.api.services.qpxExpress.model.TripOption;
import com.google.api.services.qpxExpress.model.TripOptionsRequest;
import com.google.api.services.qpxExpress.model.TripsSearchRequest;
import com.google.api.services.qpxExpress.model.SliceInput;
import com.google.api.services.qpxExpress.model.TripsSearchResponse;

public class AirlineReservation {

    /**
     * @param args
     */


      private static final String APPLICATION_NAME = "MyFlightApplication";

      private static final String API_KEY = "AIzaSyDnBCdsmTnrL5XFrO2TjJyvFioswjakNYU";

      /** Global instance of the HTTP transport. */
      private static HttpTransport httpTransport;

      /** Global instance of the JSON factory. */
      private static final JsonFactory JSON_FACTORY = JacksonFactory.getDefaultInstance();




    public static void main(String[] args) {
        // TODO Auto-generated method stub

         try {
              httpTransport = GoogleNetHttpTransport.newTrustedTransport();


              PassengerCounts passengers= new PassengerCounts();
                passengers.setAdultCount(1);

                List<SliceInput> slices = new ArrayList<SliceInput>();

                SliceInput slice = new SliceInput();
                slice.setOrigin("NYC"); 
                slice.setDestination("LGA"); 
                slice.setDate("2015-04-29");
                slices.add(slice);

                TripOptionsRequest request= new TripOptionsRequest();
                request.setSolutions(10);
                request.setPassengers(passengers);
                request.setSlice(slices);

                TripsSearchRequest parameters = new TripsSearchRequest();
                parameters.setRequest(request);
                QPXExpress qpXExpress= new QPXExpress.Builder(httpTransport, JSON_FACTORY, null).setApplicationName(APPLICATION_NAME)
                        .setGoogleClientRequestInitializer(new QPXExpressRequestInitializer(API_KEY)).build();

                TripsSearchResponse list= qpXExpress.trips().search(parameters).execute();
                List<TripOption> tripResults=list.getTrips().getTripOption();

                String id;

                for(int i=0; i<tripResults.size(); i++){
                    //Trip Option ID
                    id= tripResults.get(i).getId();
                    System.out.println("id "+id);

                    //Slice
                    List<SliceInfo> sliceInfo= tripResults.get(i).getSlice();
                    for(int j=0; j<sliceInfo.size(); j++){
                        int duration= sliceInfo.get(j).getDuration();
                        System.out.println("duration "+duration);
                        List<SegmentInfo> segInfo= sliceInfo.get(j).getSegment();
                        for(int k=0; k<segInfo.size(); k++){
                            String bookingCode= segInfo.get(k).getBookingCode();
                            System.out.println("bookingCode "+bookingCode);
                            FlightInfo flightInfo=segInfo.get(k).getFlight();
                            String flightNum= flightInfo.getNumber();
                            System.out.println("flightNum "+flightNum);
                            String flightCarrier= flightInfo.getCarrier();
                            System.out.println("flightCarrier "+flightCarrier);
                            List<LegInfo> leg=segInfo.get(k).getLeg();
                            for(int l=0; l<leg.size(); l++){
                                String aircraft= leg.get(l).getAircraft();
                                System.out.println("aircraft "+aircraft);
                                String arrivalTime= leg.get(l).getArrivalTime();
                                System.out.println("arrivalTime "+arrivalTime);
                                String departTime=leg.get(l).getDepartureTime();
                                System.out.println("departTime "+departTime);
                                String dest=leg.get(l).getDestination();
                                System.out.println("Destination "+dest);
                                String destTer= leg.get(l).getDestinationTerminal();
                                System.out.println("DestTer "+destTer);
                                String origin=leg.get(l).getOrigin();
                                System.out.println("origun "+origin);
                                String originTer=leg.get(l).getOriginTerminal();
                                System.out.println("OriginTer "+originTer);
                                int durationLeg= leg.get(l).getDuration();
                                System.out.println("durationleg "+durationLeg);
                                int mil= leg.get(l).getMileage();
                                System.out.println("Milleage "+mil);

                            }

                        }
                    }

                    //Pricing
                    List<PricingInfo> priceInfo= tripResults.get(i).getPricing();
                    for(int p=0; p<priceInfo.size(); p++){
                        String price= priceInfo.get(p).getSaleTotal();
                        System.out.println("Price "+price);
                    }

                }
              return;
            } catch (IOException e) {
              System.err.println(e.getMessage());
            } catch (Throwable t) {
              t.printStackTrace();
            }
            System.exit(1);

    }
}
package com.airline.api;
导入java.io.IOException;
导入java.util.*;
导入javax.swing.text.View;
导入com.google.api.client.auth.oauth2.Credential;
导入com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;
导入com.google.api.client.http.HttpRequestInitializer;
导入com.google.api.client.http.HttpTransport;
导入com.google.api.client.json.JsonFactory;
导入com.google.api.client.json.jackson2.JacksonFactory;
导入com.google.api.services.qpxExpress.QPXExpressRequestInitializer;
导入com.google.api.services.qpxExpress.qpxExpress;
导入com.google.api.services.qpxExpress.model.FlightInfo;
导入com.google.api.services.qpxExpress.model.LegInfo;
导入com.google.api.services.qpxExpress.model.PassengerCounts;
导入com.google.api.services.qpxExpress.model.PricingInfo;
导入com.google.api.services.qpxExpress.model.SegmentInfo;
导入com.google.api.services.qpxExpress.model.SliceInfo;
导入com.google.api.services.qpxExpress.model.TripOption;
导入com.google.api.services.qpxExpress.model.TripOptionsRequest;
导入com.google.api.services.qpxExpress.model.TripsSearchRequest;
导入com.google.api.services.qpxExpress.model.SliceInput;
导入com.google.api.services.qpxExpress.model.TripsSearchResponse;
公营航空公司{
/**
*@param args
*/
私有静态最终字符串应用程序\u NAME=“MyFlightApplication”;
私有静态最终字符串API_KEY=“aizasydnbcdsmtnl5xfro2tjjyvfioswjaknyu”;
/**HTTP传输的全局实例*/
专用静态HttpTransport-HttpTransport;
/**JSON工厂的全局实例*/
私有静态最终JsonFactory JSON_FACTORY=JacksonFactory.getDefaultInstance();
公共静态void main(字符串[]args){
//TODO自动生成的方法存根
试一试{
httpTransport=GoogleNetHttpTransport.newTrustedTransport();
乘客人数=新乘客人数();
乘客:设置成人计数(1);
列表切片=新的ArrayList();
SliceInput slice=新的SliceInput();
slice.setOrigin(“纽约”);
slice.setDestination(“LGA”);
设定日期(“2015-04-29”);
切片。添加(切片);
TripOptionsRequest=新TripOptionsRequest();
请求。设置解决方案(10);
请求。设置乘客(乘客);
请求设置片(片);
TripsSearchRequest参数=新建TripsSearchRequest();
参数设置请求(请求);
QPXExpress QPXExpress=新的QPXExpress.Builder(httpTransport,JSON\u工厂,空)。设置应用程序名称(应用程序名称)
.setGoogleClientRequestInitializer(新的QPXExpressRequestInitializer(API_键)).build();
TripsSearchResponse list=qpXExpress.trips().search(参数).execute();
List tripResults=List.getTrips().getTripOption();
字符串id;

对于(int i=0;ismall)问题。应用程序的名称是什么?我在哪里找到它?回答我的问题,应用程序的名称可以是任何东西。这不重要。