我正在尝试创建一个python脚本,将数据吞并到dv360中。这是一个刚刚运行的脚本--例如,它不是一个网络应用程序。因此,我假设它被定义为“服务器到服务器”应用程序。虽然它确实是服务器应用程序的脚本--在这种情况下,我的计算机是服务器吗?
因此我想我应该用一个服务帐户来验证。但是,我可以找到的所有文档都建议使用oauth2来实现dv360,而不是使用服务帐户。即使在oauth2内部,我也看到了已安装的誓言和服务器到服务器oauth之间的界限。
有过dv360 api经验的人能告诉我,我上面描述的应用程序会被分类为什么,以及我是否需要一个服务帐户、安装的应用程序的宣誓或服务器到服务器应用程序的宣誓才能进行身份验证?
发布于 2022-12-01 06:11:59
对于您的用例,建议使用服务器到服务器应用程序的OAuth 2.0。
可以使用Google客户端库使用服务帐户对DV360执行操作。
下面是使用这个python库获取DV360广告商的示例片段。
import json
from googleapiclient import discovery
# DV360 service
dv360_service = discovery.build('displayvideo', 'v1')
# Get Advertiser Info
data = {'advertiserId': '1234567'}
response = dv360_service.advertisers().get(**data).execute()
print(json.dumps(response, indent=2))输出:
{
"name": "advertisers/1234567",
"advertiserId": "1234567",
"partnerId": "8901234",
"displayName": "LoremIpsum",
"entityStatus": "ENTITY_STATUS_PAUSED",
"updateTime": "2022-10-14T04:46:31.291Z",
"generalConfig": {
"domainUrl": "https://www.example.com",
"timeZone": "Asia/Calcutta",
"currencyCode": "INR"
},
"adServerConfig": {
"thirdPartyOnlyConfig": {
"pixelOrderIdReportingEnabled": true
}
},
"creativeConfig": {},
"dataAccessConfig": {
"sdfConfig": {
"sdfConfig": {
"version": "SDF_VERSION_5_2"
}
}
},
"integrationDetails": {},
"servingConfig": {
"exemptTvFromViewabilityTargeting": true
}
}在运行脚本之前,确保使用GOOGLE_APPLICATION_CREDENTIALS设置path/to/service-account-key.json环境变量
例如GOOGLE_APPLICATION_CREDENTIALS='/home/dikesh/.keys/service-key.json' python test.py
https://stackoverflow.com/questions/74437195
复制相似问题