1. 程式人生 > >python3獲取oracle REST API for Oracle Eloqua Marketing Cloud Service 資料

python3獲取oracle REST API for Oracle Eloqua Marketing Cloud Service 資料

這個程式碼是自定義,獲取客戶自定義的資料

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())