2016-11-01 29 views
3

我正在使用python庫marketo-rest-api從Marketo提取數據。我只是拉一天,試圖將活動中的點與活動連接起來。我想提出以下呼叫:使用Marketo API的結果不一致 - 找不到活動ID

print('Getting Campaigns') 
with open(marketoCampaignsFile,'w') as fcamp: 
    campaigns = mc.execute(method='get_multiple_campaigns', id=None, name=None, programName=None, workspaceName=None, batchSize=None) 
    for campaign in campaigns: 
     jsonString = json.dumps(campaign) 
     fcamp.write(jsonString) 
fcamp.close() 

print('Getting Activities...') 
activitiesFile = 'c:\\users\\mark\\marketocsv\\emailActivities.2016-07-26.json' 
with open(activitiesFile,'w',newline='') as fopen: 
    for activities in mc.execute(method='get_lead_activities_yield', activityTypeIds=['6','7','8','9','10'], nextPageToken=None, sinceDatetime='2016-07-26', untilDatetime='2016-07-27', batchSize=None, listId=None, leadIds=None): 
    for item in activities: 
     jsonString = json.dumps(item) 
     fopen.write(jsonString+'\n') 
fopen.close() 

我發現的是,在活動文件中的廣告系列ID不匹配在運動文件中的任何活動的ID。有誰知道這可能是爲什麼?我需要廣告系列屬性來過濾我需要的特定活動。謝謝。

回答

1

您下載的活動類型不包含活動ID,它們會提供電子郵件ID。

+0

謝謝,Jep。我所看到的似乎不是電子郵件ID,但爲了測試它,我將使用其中一個ID執行「get_email」,並查看我回來的內容。廣告系列ID的重要性在於它會告訴我它在哪個工作區,並且我可以「選出」我想要使用/訪問的特定活動。 –

1

所以Jep是對的。我終於找到了EmailID。它被稱爲primaryAttributeValueId。您可以將其鏈接回Marketo提供的EmailID。我從來沒有找到campaignID,但我可以通過電子郵件參加活動。以下是其中一個請求的完整JSON:

{ 
"primaryAttributeValue": "2016-07-Email-To-Customers", 
"activityDate": "2016-07-26T19:05:41Z", 
"attributes": [ 
{ 
"value": "0", 
"name": "Choice Number" 
}, 
{"value": "43182", 
"name": "Step ID"} 
], 
"primaryAttributeValueId": 17030, 
"leadId": 115345, 
"id": 393962103, 
"activityTypeId": 7, 
"campaignId": 15937 
}