Yahoo Gemini パブリッシャー ダッシュボード ( 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 browser redirect) を呼び出し、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(Profile、Contactsなど)もそのままでパーミッションを上げました。
https://developer.yahoo.com/gemini/に個別の Gemini API のセットがリストされていることに気付きました。これらの API はhttps://api.gemini.yahoo.com/v2/rest/reports/custom/にあり、それらに POST すると 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」) を取得するにはどうすればよいですか?