python - TypeError:不是有效的非字符串序列或映射对象

标签 python http post eloqua

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 herehere
我不是一个python专家,但这个问题与eloqua无关,而是与python有关。您似乎是手动创建定义,您可以尝试手动创建措辞,而不是使用json.dumps
我希望这个基本的身份验证令牌是假的,相反,有人会很容易登录到您的eLoqua。

关于python - TypeError:不是有效的非字符串序列或映射对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36998191/

相关文章:

python - 解析转义字符

Perl WWW::Mechanize 将 cookie 存储为字符串

post - OpenAI ChatGPT (GPT-3.5) API 错误 400 : "Bad Request" (migrating from GPT-3 API to GPT-3. 5 API)

python - 如何进行具有多个过滤器的 Django 数据库查询?

ajax - HTTP 请求在 Chrome 版本 48 中无响应

java - GET 不显示在 java 动态 Web 项目中实现的 Posted 对象

html - 嵌入 Facebook 帖子高度

python - <br/> 标签之间节点的 Scrapy 选择器

python - pyqt4应用程序的pdf查看器?

python - Django - 如何使函数内部的变量可用于数据过滤器外部