typeerror:不是有效的非字符串序列或映射对象
•构建数据字典并使用json.dumps
•随数据发布请求
data = {
"filter": "'{{Activity.Type}}'='Bounceback'",
"name": "Bulk Activity Export - Bounceback",
"fields": {
"ActivityId": "{{Activity.Id}}"
}
}
data = json.dumps(data)
print(request.post("/activities/exports", data = data ))
post请求方法(这不是完整的代码,只是执行post请求的部分)
def post(self, url, data):
return self.request('POST', url, data)
print(request)
if data != None:
data = urllib.urlencode(data)
结果是:
身份验证没有问题。这是请求对象和http头。我得到typeerror:不是有效的非字符串序列或映射对象错误。
data object: {"filter": "'{{Activity.Type}}'='Bounceback'", "fields": {"AssetType": "{{Activity.Asset.Type}}", "ActivityId": "{{Activity.Id}}", "EmailAddress": "{{Activity.Field(EmailAddress)}}", "AssetId": "{{Activity.Asset.Id}}", "ActivityDate": "{{Activity.CreatedAt}}", "AssetName": "{{Activity.Asset.Name}}", "CampaignId": "{{Activity.Campaign.Id}}", "ExternalId": "{{Activity.ExternalId}}", "ActivityType": "{{Activity.Type}}"}, "name": "Bulk Activity Export - Bounceback"}
标题:
{'Content-Type': 'application/json', 'Authorization': 'Basic RmlhdE1hcmtldGluZ1xGMzIwMDJCOkFjY2V'}
最佳答案
See here或here
我不是一个python专家,但这个问题与eloqua无关,而是与python有关。您似乎是手动创建定义,您可以尝试手动创建措辞,而不是使用json.dumps
我希望这个基本的身份验证令牌是假的,相反,有人会很容易登录到您的eLoqua。
关于python - TypeError:不是有效的非字符串序列或映射对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36998191/