当我登录Yahoo Gemini Publisher仪表板(位于https://gemini.yahoo.com/publisher)时,我可以看到已配置的发布者ID的报告。我现在正试图从Gemini REST API获取相同的数据,但遇到了一些混乱和错误。
根据https://developer.yahoo.com/gemini-publishers/docs/gemini-publisher-reporting.html我需要获取OAuth2访问令牌(我可以通过https://api.login.yahoo.com/oauth2/request_auth?client_id=GEMINI_CONSUMER_KEY&redirect_uri=MY_URL&response_type=token&language=en-us浏览器重定向成功完成)并拨打https://api.admanager.yahoo.com/v1/rest/reports/publisher/来获取报告。但是,当我这样做时,我得到了一个神秘的回应:
curl --request POST \
--url http://api.admanager.yahoo.com/v1/rest/reports/publisher/ \
--header 'accept: application/json' \
--header 'authorization: Bearer [omitted]' \
--header 'content-type: application/json' \
--data '{ ... cube JSON stuff ... }'
{"error":{"lang":"en-US","description":"Please provide valid credentials. OAuth oauth_problem=\"additional_authorization_required\", realm=\"yahooapis.com\""}}
授予OAuth令牌以访问Gemini API。我尝试通过Explicit和Implicit方法获取OAuth令牌,结果相同。考虑到它可能是一个访问问题,我也增加了授予其他API的权限(配置文件,联系人等)而没有任何变化。
我注意到https://developer.yahoo.com/gemini/上列出了一组独立的Gemini API。这些API位于https://api.gemini.yahoo.com/v2/rest/reports/custom/,当我向他们发帖时,它接受我的OAuth令牌,但这些API的“多维数据集”需要“广告客户ID”,我不知道从哪里获得或者我正在使用正确的API。
{
"errors": [
{
"errIndex": -1,
"code": "E40000_INVALID_INPUT",
"message": "Entity (publisher or advertiser id) not available",
"description": ""
}
],
"response": { ... }
}
该消息似乎表明我可以传递发布者ID,但是当我在“过滤器”中包含它时,它不起作用。
当我尝试拨打https://api.gemini.yahoo.com/v2/rest/advertiser/时,我没有收到任何广告客户。
我应该使用哪种API?如果是https://api.admanager.yahoo.com/v1/rest/reports/publisher/那么我是否省略了一些必需的请求数据,或者我得到了令牌错误?如果我应该使用https://api.gemini.yahoo.com/v2/rest/reports/custom/,那么如何获取发布商数据(或我的“广告客户ID”)?
答案 0 :(得分:-1)
显然,雅虎已弃用Gemini发布API并将此功能移至Flurry(其API需要不同的身份验证)。 https://developer.yahoo.com/flurry/docs/api/code/publishing/