ebay API 應用之上傳商品圖片

        賣東西少不了展示圖片,通過api上傳圖片還是很簡單的,用的是UploadSiteHostedPicturesRequestType這個API,圖片會在ebay服務器上保存一段時間。首先需要初始化ApiContext,設置appID, certID, devID, userToken, api的相應url,圖片服務的url


1,初始化ApiContext

public static ApiContext getApiContext() throws Exception {
	apiContext = new ApiContext();
	ApiAccount apiAccount = new ApiAccount();
	apiAccount.setApplication(appID);
	apiAccount.setCertificate(certID);
	apiAccount.setDeveloper(devID);
	apiContext.getApiCredential().setApiAccount(apiAccount);
	ApiCredential cred = apiContext.getApiCredential();
	cred.seteBayToken(GetContext.userToken);
	apiContext.setApiServerUrl("https://api.sandbox.ebay.com/wsapi");
	apiContext.setEpsServerUrl("https://api.sandbox.ebay.com/ws/api.dll");    // 這個要設置,不然會出錯
	return apiContext;
}


2,上傳圖片

paths是圖片的本地位置,方法返回圖片的url地址

public static String[] uploadPicture(String[] paths) throws Exception {
	ApiContext apiContext = getApiContext();
	PictureService picService = eBayPictureServiceFactory.getPictureService(apiContext);
	String[] rt = new String[paths.length];
	for (int i = 0; i < paths.length; ++i) {
		System.out.println(paths[i]);
		String url = picMap.get(paths[i]);
		if (url != null) {
			rt[i] = url;
			continue;
		}
		PictureInfo picInfo = new PictureInfo();
		picInfo.setPictureFilePath(paths[i]);
		UploadSiteHostedPicturesRequestType request = new UploadSiteHostedPicturesRequestType();

		boolean success = picService.UpLoadSiteHostedPicture(picInfo, request);
		if (success) {
			rt[i] = new String(picInfo.getURL());
		} else
			rt[i] = new String(picInfo.getErrorType() + ":" + picInfo.getErrorMessage());
	}
	return rt;
}



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章