python3獲取oracle REST API for Oracle Eloqua Marketing Cloud Service 資料
阿新 • • 發佈:2018-11-15
這個程式碼是自定義,獲取客戶自定義的資料
import json import base64 import requests import time url = 'https://login.eloqua.com/id' str_encrypt= 'GenScript\manzu.shu:Shusu891002' base64_encrypt = str(base64.b64encode(str_encrypt.encode('utf-8')),'utf-8') Authorization = "Basic %s" % base64_encrypt headers = { 'Authorization' : Authorization } r = requests.get(url,headers=headers) base_url = 'https://secure.p04.eloqua.com/api/bulk/2.0/contacts/exports' baseheaders = { 'Authorization' : Authorization,'Accept':'application/json','Content-Type':'application/json'} # baseheaders = {'Accept':'application/json'} body = { "name": "Contact Lead Score Export", "fields": { "EmailAddress": "{{Contact.Field(C_EmailAddress)}}", "FirstName":"{{Contact.Field(C_FirstName)}}", "MobilePhone":"{{Contact.Field(C_MobilePhone)}}" } } br = requests.post(base_url,headers=baseheaders,data=json.dumps(body)) res = br.content.decode() print(res) dict_json = json.loads(res) #獲取到規則的uri syncs_uri = dict_json['uri'] print('Define--uri: '+syncs_uri) #建立syncs規則 syncs_post = 'https://secure.p04.eloqua.com/api/bulk/2.0/syncs' syncs_body = { "syncedInstanceUri": syncs_uri } syncs_res = requests.post(syncs_post,headers=baseheaders,data=json.dumps(syncs_body)) syncs_res = syncs_res.content.decode() syncs_dict_json = json.loads(syncs_res) #獲取到syncs的uri getdata_uri = syncs_dict_json['uri'] print('syncs--uri : '+ getdata_uri) retrieve_data = 'https://secure.p04.eloqua.com/api/bulk/2.0' + getdata_uri + '/data' print('最終請求的url: '+ retrieve_data) time.sleep(10) retrieve = requests.get(retrieve_data,headers=baseheaders) print(retrieve.content.decode())