2012-06-07 4 views
0

Google Checkout 판매 주문 보고서 (Google의 andriod 앱 판매 중 하나를 추적하기 위해)를 사용하여 간단한 Perl 스크립트 (Mechanize 사용)를 통해이를 달성하려고합니다. 내 구글 체크 아웃 주문받은 편지함 HTTP 인증을 통해 Google Checkout 보고서 다운로드

  • 대상 URL 액세스에 연결

    1. :

      아래는 내가 다음하고있는 단계입니다. https://checkout.google.com/cws/v2/AndroidMarket-1011/305286585299619/reportsForm?_type=order-list-request&column-style=&date-time-zone=America%2FLos_Angeles&end-date=2012-05-30&query-type=&start-date=2012-05-29을 로그인 한 후 나는 이러한 매개 변수와 값을 활용하려면, 나는이 스크립트를 자동화하고있다. 값을 동적으로 전달합니다. 시간가는 동안, 나는 그것을 하드 코딩했다.

    2. 헤더와 함께 auth 및 SID 토큰을 전달하십시오.
    3. 응답을 읽고 CSV 파일에 저장하십시오.

    참고 : 내 Google Checkout 계정에는 기존 계정이므로 판매자 키 기능이 없습니다. 그래서 API를 사용하여 보고서를 다운로드 할 수 없습니다.

    여기

    스크립트는 "잘못된 요청 HTTP 오류 400"라고 .. 여기

    #!/usr/bin/perl -w 
    use CGI; 
    use CGI::Carp; 
    use CGI qw'standard'; 
    use strict; 
    use LWP::UserAgent; 
    use WWW::Mechanize; 
    use HTTP::Cookies; 
    print "Content-type: text/html \n\n"; 
    my $url = 'https://www.google.com/accounts/ServiceLogin'; 
    my $username = '[email protected]'; 
    my $password = "123456"; 
    my $cookie_jar = HTTP::Cookies->new(file => 'cookies', autosave => 1, ignore_discard => 1); 
    my $mech = WWW::Mechanize->new(cookie_jar => $cookie_jar, autocheck => 0); 
    $mech->get($url); 
    $mech->form_id('gaia_loginform'); 
    $mech->field(Email => $username); 
    $mech->field(Passwd => $password); 
    $mech->submit(); 
    $cookie_jar->save; 
    # Go to the Google checkout orer inbox 
    $url = 'https://checkout.google.com/sell/orders'; 
    $mech->get($url); 
    print $mech->content(); 
    #Retain the cookie through out the page 
    $cookie_jar->load; 
    print "This request is valid."; 
    $mech->form_name('dateInput'); 
    $mech->field('start-date','2012-05-30'); 
    $mech->field('end-date','2012-06-01'); 
    $mech->field('date-time-zone','America/Los_Angeles'); 
    $mech->field('_type','order-list-request'); 
    $cookie_jar->load; 
    my $results = $mech->submit(); 
    my $response = $mech->res(); 
    my $filename = $response->filename; 
    if (! open (FOUT, ">$filename")) { 
        die("Could not create file: $!"); 
    } 
    print(FOUT $m->response->content()); 
    close(FOUT); 
    print $results->content(); 
    


    는 결과이다 .. 내가 사용하고있는 펄 스크립트입니다. 내가 이해할 수 있듯이 내가 보낸 URL 형식은 원하는 출력을 생성하지 못하고 오류를 표시합니다.

    내 계정에서 사용할 수있는 가맹점 키가 없기 때문에 이미 스크립트에서 수행 한 것처럼 HTTP 호출 및 쿼리 문자열 전달을 통해이 작업을 수행 할 수있는 작업이 있는지 여부는 궁금합니다.

    감사합니다. 앞으로 연락 드리겠습니다. 당신의 도움을 주셔서 감사합니다 !

  • 답변

    1

    Android 인앱 결제 판매자 계정 만 있지만 Google Checkout 판매자 계정은없는 것으로 보입니다.

    Order API (또는 다른 Google Checkout API)를 사용하려면 계정이 기존 Checkout 판매자 계정이기도 한 경우 얻을 수있는 판매자 키가 있어야합니다.

    아래 URL을 사용하여 Checkout 판매자 계정에 가입하십시오. 기존 상인 계정과 동일한 Google 로그인 자격 증명을 사용하십시오 :

    http://checkout.google.com/sell/signup

    0

    당신은 떠날 수 없다 '재무 상태'매개 변수 빈.

    설정에 유효한 값

    $mech->field('financial-state', 'CHARGEABLE'); 
    

    하거나 삭제합니다.