如何将Google QPX API与Java一起用于航班搜索?
我正在尝试构建一个简单的Java代码,该代码使用GoogleQPXAPI获取从纽约到伦敦的航班选项。我与谷歌签约并获得了API_密钥 我阅读了文档,但不幸的是,我找不到任何示例来说明如何做 以下是我迄今为止所做的尝试:如何将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)
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)问题。应用程序的名称是什么?我在哪里找到它?回答我的问题,应用程序的名称可以是任何东西。这不重要。