반응형
1. Google AdSense API 클라이언트 라이브러리를 포함하도록 다음 종속성을 pom.xml 파일에 추가합니다:
<dependency>
<groupId>com.google.apis</groupId>
<artifactId>google-api-services-adsense</artifactId>
<version>v1-rev2020-06-12</version>
</dependency>
2. 서비스 클래스를 만들어 AdSense API로 API 호출을 수행합니다. 이 클래스에서 API 클라이언트를 초기화하고 API 요청을 수행하려면 다음 코드를 포함해야 합니다:
import com.google.api.services.adsense.AdSense;
import com.google.api.services.adsense.model.AdSenseReportsGenerateResponse;
public class AdSenseService {
private static final JsonFactory JSON_FACTORY = JacksonFactory.getDefaultInstance();
private static final HttpTransport HTTP_TRANSPORT = new NetHttpTransport();
public AdSenseReportsGenerateResponse generateReport(String accountId, String startDate, String endDate) throws Exception {
AdSense adsense = new AdSense.Builder(HTTP_TRANSPORT, JSON_FACTORY, null)
.setApplicationName("SpringBootAdSenseIntegration")
.build();
AdSense.Reports.Generate request = adsense.reports().generate(accountId, startDate, endDate);
request.setMetric(Arrays.asList("EARNINGS"));
request.setDimension(Arrays.asList("DATE"));
return request.execute();
}
}
3. 스프링 부트 응용 프로그램에서 서비스 클래스를 사용하여 AdSense 수익 정보를 가져와 보기에 표시합니다.
@Controller
public class AdSenseController {
private AdSenseService adSenseService;
@Autowired
public AdSenseController(AdSenseService adSenseService) {
this.adSenseService = adSenseService;
}
@GetMapping("/adsense-revenue")
public String getAdSenseRevenue(Model model) {
try {
AdSenseReportsGenerateResponse response = adSenseService.generateReport("ACCOUNT_ID", "YYYY-MM-DD", "YYYY-MM-DD");
List<List<Object>> rows = response.getRows();
if (rows != null) {
List<String> dates = new ArrayList<>();
List<Double> earnings = new ArrayList<>();
for (List<Object> row : rows) {
dates.add(row.get(0).toString());
earnings.add(Double.parseDouble(row.get(1).toString()));
}
model.addAttribute("dates", dates);
model.addAttribute("earnings", earnings);
}
} catch (Exception e) {
e.printStackTrace();
}
return "adsense-revenue";
}
}
이전에 Google Cloud Console에서 API 키를 가져와 응용 프로그램이 AdSense API에 액세스할 수 있도록 권한을 부여해야 합니다.
반응형
'Spring Boot' 카테고리의 다른 글
[SpringBoot] zip파일 압축/압축해제 구현 (0) | 2023.02.08 |
---|---|
[SpringBoot] SFTP파일전송 구현 (0) | 2023.02.08 |
[SpringBoot] FFmpeg mp4파일 공간음향 처리. (0) | 2023.02.08 |
[Flask] 엑셀파일 생성/다운로드 처리 (0) | 2023.02.08 |
[Springboot] POI docx파일 생성 / 다운로드 구현 (0) | 2023.02.08 |