2011-03-08 2 views
0

파이썬 애드 워즈 클라이언트를 사용할 때 사용할 수있는 최신 튜토리얼이 있습니까? 구성 오류가 발생 했습니까? 아니면 Python 2.6이 지원되지 않습니까?Google 애드워즈 API Python 클라이언트 라이브러리를 작동 시키려면 어떻게해야합니까?

  • 파이썬 2.6
  • setuptools에-0.6c11.win32-py2.6.exe
  • PyXML에는-0.8.4
  • SOAPpy-0.12.4을 : 내가 설치 한 Windows에서

  • ZSI-2.0 RC3
  • adwords_api_python_13.2.0

애드워즈 설정 프로그램에 내 고객 센터 계정 이메일 주소, 비밀번호, 빈 클라이언트 이메일 및 ID가 제공되었으며 개발자 토큰에는 '+ USD'가 추가 된 동일한 이메일 주소가 제공되었습니다.

SOAP 라이브러리로 SOAPpy를 사용하면 예기치 않은 키워드 매개 변수 timeout에 대한 예외가 발생합니다.이 매개 변수는 SOAPpy의 한 기능에서 SOAPpy의 다른 기능으로 제공되었습니다. 나는 식별 데이터를 제거하기 위해 수정 한 일부 XML, 다음

Traceback (most recent call last): 
    File "tutorial.py", line 36, in <module> 
    campaigns = campaign_service.Mutate(operations)[0] 
    File "c:\Python26\lib\site-packages\adspygoogle\adwords\CampaignService.py", l 
ine 112, in Mutate 
    'Campaign', self._loc, request) 
    File "c:\Python26\lib\site-packages\adspygoogle\adwords\AdWordsWebService.py", 
line 256, in CallMethod 
    self.__ManageSoap(buf, start_time, stop_time, error) 
    File "c:\Python26\lib\site-packages\adspygoogle\adwords\AdWordsWebService.py", 
line 130, in __ManageSoap 
    raise Error(e) 
adspygoogle.common.Errors.Error: 
Traceback (most recent call last): 
    File "c:\Python26\lib\site-packages\adspygoogle\common\WebService.py", line 20 
8, in CallMethod 
    eval('service.%s(request)' % method_name)) 
    File "<string>", line 1, in <module> 
    File "c:\Python26\lib\site-packages\adspygoogle\adwords\zsi\v201008\CampaignSe 
rvice_services.py", line 47, in mutateCampaign 
    self.binding.Send(None, None, request, soapaction="", **kw) 
    File "build\bdist.win32\egg\ZSI\client.py", line 267, in Send 
    self.SendSOAPData(soapdata, url, soapaction, **kw) 
    File "build\bdist.win32\egg\ZSI\client.py", line 301, in SendSOAPData 
    self.h.send(soapdata) 
    File "c:\Python26\lib\site-packages\adspygoogle\common\zsi\HttpsConnectionHand 
ler.py", line 93, in send 
    httplib.HTTPSConnection.endheaders(self) 
    File "c:\Python26\lib\httplib.py", line 892, in endheaders 
    self._send_output() 
    File "c:\Python26\lib\httplib.py", line 764, in _send_output 
    self.send(msg) 
    File "c:\Python26\lib\site-packages\adspygoogle\common\zsi\HttpsConnectionHand 
ler.py", line 93, in send 
    httplib.HTTPSConnection.endheaders(self) 
    File "c:\Python26\lib\httplib.py", line 890, in endheaders 
    raise CannotSendHeader() 
CannotSendHeader [RAW DATA: _________________________________ Tue Mar 08 16:54:4 
0 2011 REQUEST: 

: 나는 (I 선호 믿는)는 SOAP 라이브러리로 ZSI를 사용하는 경우

, 나는 다음과 같은 예외가

<SOAP-ENV:Envelope xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xm 
lns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ZSI="http://www.z 
olera.com/schemas/ZSI/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi=" 
http://www.w3.org/2001/XMLSchema-instance"><SOAP-ENV:Header><RequestHeader xmlns 
="https://adwords.google.com/api/adwords/cm/v201008"><authToken>XYZ</authToken> 
<userAgent>AwApi-Python-13.2.0|XYZ</userAgent><developerTok 
en>[email protected]+USD</developerToken></RequestHeader></SOAP-ENV:Header><SO 
AP-ENV:Body xmlns:ns1="https://adwords.google.com/api/adwords/cm/v201008"><ns1:m 
utate xmlns:ns1="https://adwords.google.com/api/adwords/cm/v201008"><ns1:operati 
ons><ns1:operator>ADD</ns1:operator><ns1:operand><ns1:name>Interplanetary Cruise 
#201138165440485000</ns1:name><ns1:status>PAUSED</ns1:status><ns1:endDate>20120 
101</ns1:endDate><ns1:budget xsi:type="ns1:Budget"><ns1:period>DAILY</ns1:period 
><ns1:amount xsi:type="ns1:Money"><ns1:microAmount>50000000</ns1:microAmount></n 
s1:amount><ns1:deliveryMethod>STANDARD</ns1:deliveryMethod></ns1:budget><ns1:bid 
dingStrategy xsi:type="ns1:ManualCPC"></ns1:biddingStrategy></ns1:operand></ns1: 
operations></ns1:mutate></SOAP-ENV:Body></SOAP-ENV:Envelope> 

내 코드는 다음과 같습니다 :

from adspygoogle.adwords.AdWordsClient import AdWordsClient 
from adspygoogle.common import Utils 

client = AdWordsClient(path = '../../installers/adwords_api_python_13.2.0.tar/adwords_api_python_13.2.0') 

campaign_service = client.GetCampaignService('https://adwords-sandbox.google.com', 'v201008') 

operations = [{ 
    'operator': 'ADD', 
    'operand': { 
     'name': 'Interplanetary Cruise #%s' % Utils.GetUniqueName(), 
     'status': 'PAUSED', 
     'biddingStrategy': { 
      'type': 'ManualCPC' 
     }, 
     'endDate': '20120101', 
     'budget': { 
      'period': 'DAILY', 
      'amount': { 
       'microAmount': '50000000' 
      }, 
      'deliveryMethod': 'STANDARD' 
     } 
    } 
}] 

campaigns = campaign_service.Mutate(operations)[0] 

# Display results. 
for campaign in campaigns['value']: 
    print ('Campaign with name \'%s\' and id \'%s\' was added.' 
     % (campaign['name'], campaign['id'])) 

print 
print ('Usage: %s units, %s operations' % (client.GetUnits(), 
              client.GetOperations())) 

참고,132에서 튜토리얼 코드조금이라도 작동하지 않는다면 클라이언트의 현재 버전에 aw_api.Client 같은 것이 없습니다. 그러나 위의 내용은 주로 튜토리얼에서 복사 한 것입니다.

클라이언트와 함께 제공된 예제는 동일한 오류를 발생시킵니다.

차이가 있으면 TargetingIdeaService를 지원하는 라이브러리가 필요하지만 이전 라이브러리가 손상되었을 경우 이전 라이브러리를 사용해 볼 수 있습니다.

[편집 : 오, 죄송합니다. 실제로 애드워즈 클라이언트 코드를 편집 한 것을 잊어 버렸습니다. Utils.GetDataFromCsvFile에서 urllib.urlopen에 전달 된 파일 URL을 구성하는 행에서 .replace(':','|')을 삭제했습니다.

은 Windows 파이썬 2.6 이후 file:///c|/foo/bar/baz/

+0

오류에 대한 비누 요청 및 응답을 게시 할 수 있습니까? 그게 보낸다면? – JiminyCricket

+0

@JiminyCricket : 예외와 함께보고 된 XML을 추가하는 질문을 편집했습니다. 그것이 당신이 의미하는 바인가요, 아니면 더 많은 로깅 데이터가 어딘가에 숨겨져 있습니까? –

답변

2

당신이 ZSI-2.0 봤어] URL을 열 수 보이지 않았다, 내가 파이썬의 내 버전이 지원되지 않을 수 있습니다 의심하게 무엇인가? 이 문제 보고서는 http://code.google.com/p/google-api-adwords-python-lib/issues/detail?id=141과 유사합니다. 이 문제가 계속되면 버그 리포트에 정보를 추가하십시오.

튜토리얼 코드가 오래되었으므로 좋은 캐치! 나는 곧 그것을 고쳐 줄 것이다. http://code.google.com/p/google-api-adwords-python-lib/issues/detail?id=152에서 추적하십시오.

+0

고마워, 나는 그것을 시도하고 다시 당신에게 돌아갈거야. 나는 2.0-rc3가 최신 버전이 아니라는 사실을 깨닫지 못했다. 나는 그들이 pypi (또는 pypi가 그것들을 포기하고 그 중 어느 것이 작동 하던지)를 버렸다고 생각한다. –

+0

그게 다예요. 버그 보고서를 직접 찾지 못해서 미안합니다 ... –

관련 문제