我正在使用C#编写一个Azure函数。NET核心。
我已尝试以此页作为应用程序进行身份验证。
我尝试过使用此页面的服务号进行身份验证。
在这两种情况下,我都会收到一条拒绝访问的错误消息。
我的根本问题是,
我应该从Azure功能中为Google广告API使用哪种身份验证方法?
在我最近一次尝试使用服务帐户时,我有以下代码
GoogleAdsConfig config = new GoogleAdsConfig()
{
OAuth2Mode = Google.Ads.GoogleAds.Config.OAuth2Flow.SERVICE_ACCOUNT,
OAuth2SecretsJsonPath = pathtojsonfile,
OAuth2PrnEmail = "something@somethingelse.iam.gserviceaccount.com",
OAuth2Scope = "https://www.googleapis.com/auth/adwords",
DeveloperToken = "********"
};
var responseMessage = "";
var client = new GoogleAdsClient(config);
// Get the GoogleAdsService.
GoogleAdsServiceClient googleAdsService = client.GetService(Services.V6.GoogleAdsService);
// Create the query.
string query =
@"SELECT
campaign.id,
campaign.name,
ad_group.id,
ad_group.name,
ad_group_criterion.criterion_id,
ad_group_criterion.keyword.text,
ad_group_criterion.keyword.match_type,
metrics.impressions,
metrics.clicks,
metrics.cost_micros
FROM keyword_view
WHERE segments.date DURING LAST_7_DAYS
AND campaign.advertising_channel_type = 'SEARCH'
AND ad_group.status = 'ENABLED'
AND ad_group_criterion.status IN ('ENABLED','PAUSED')
ORDER BY metrics.impressions DESC
LIMIT 50";
try
{
// Issue a search request.
await googleAdsService.SearchStreamAsync(customerId.ToString(), query,
delegate (SearchGoogleAdsStreamResponse resp)
{
// Display the results.
foreach (GoogleAdsRow criterionRow in resp.Results)
{
responseMessage +=
"Keyword with text " +
$"'{criterionRow.AdGroupCriterion.Keyword.Text}', match type " +
$"'{criterionRow.AdGroupCriterion.Keyword.MatchType}' and ID " +
$"{criterionRow.AdGroupCriterion.CriterionId} in ad group " +
$"'{criterionRow.AdGroup.Name}' with ID " +
$"{criterionRow.AdGroup.Id} in campaign " +
$"'{criterionRow.Campaign.Name}' with ID " +
$"{criterionRow.Campaign.Id} had " +
$"{criterionRow.Metrics.Impressions.ToString()} impressions, " +
$"{criterionRow.Metrics.Clicks} clicks, and " +
$"{criterionRow.Metrics.CostMicros} cost (in micros) during the " +
"last 7 days.";
}
}
);
}
catch (GoogleAdsException e)
{
responseMessage += "Failure:\n";
responseMessage += $"Message: {e.Message}\n";
responseMessage += $"Failure: {e.Failure}\n";
responseMessage += $"Request ID: {e.RequestId}\n";
throw;
}
return responseMessage;
当我调用此时,我得到以下错误:
{
"StatusCode": 16,
"Details": "Request is missing required authentication credential. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.",
"RequestId": "0Yk2OYrUATjwftZ5I0qi2g",
"Failure": {
"errors": [
{
"errorCode": {
"authenticationError": "NOT_ADS_USER"
},
"message": "User in the cookie is not a valid Ads user."
}
]
}
}
我已经在启用谷歌广告API的情况下设置了服务帐户。为什么它认为我“不是广告用户”???
首先,我们需要理解,函数不应该被用来执行与UI相关的操作。在任何应用服务中,登录的弹出窗口(允许提供凭据)都不受支持。
例如:为了避免这种情况,在AD auth的情况下,我们可以使用服务原则,提供所需的凭证以获取令牌。因此,如果我们想使用google auth SDK,我们需要连接到相关团队(google团队),以了解这是否可行。
为此,您可以检查服务器到服务器服务帐户身份验证,如下所示:
https://cloud.google.com/docs/authentication/production
如果您在这方面需要任何帮助,我们建议您联系相关的支持团队。
搜索了几天后,我仍然不知道如何让我的laravel web应用程序与azure ad auth一起工作。我希望人们通过azure广告登录。如何做到这一点,我可以从哪里开始?非常感谢任何帮助。
我正在使用api google adwords来生成报告,我可以为活动获得它,但我不能为广告生成报告(我需要获得AdId,AdName,clicks,impressions cost和许多其他数据)。我应该使用哪种类型的报告?我试着用: 但它将错误返回为“未知字段”,或者不返回任何内容。 多谢了。
我合作的公司有许多客户使用谷歌广告为他们的网站做营销。公司希望使用客户的数据进行分析。我得到了一个项目,使用C#集成谷歌广告API,从谷歌广告中获取所有数据,如活动等,并将其移动到我们的系统中为每个客户端。我只给开发人员令牌和客户端的客户ID。例如 客户A的客户ID 客户B的客户ID 当我浏览谷歌广告API文档时,我有点不知所措。在文档中,是OAuth2。0需要创建才能使用客户端库,该库将生成客户
我正在开发一个网络应用程序,代表用户获取谷歌广告活动的信息。我使用的是谷歌提供的python库,但我在获取开始测试API调用的初始凭据时遇到了很多麻烦。 我遵循以下文件:https://github.com/googleads/google-ads-python/wiki/OAuth-Web-Application-Flow 我已经完成了第一步,我有我的客户机密码、客户机ID和重定向uri。 在第
我想得到的活动和广告表现的报告。到目前为止,我已经得到了竞选业绩报告,但我无法得到广告业绩报告。 我在客户端库中看到了谷歌广告api和它们的例子。但我无法理解如何获得广告报道。 我正在制作一个函数,通过谷歌广告api为我获取报告。 谷歌广告Api:https://developers.google.com/google-ads/api/docs/fields/ad_group_ad#ad_grou
目前,Google Assitant包括一种简单的方法来请求有关用户的不可识别信息,以及通过OAuth2在第三方服务上对用户进行身份验证的详细流程。如果我只需要让用户在 Google 上进行身份验证,该怎么办?我尝试使用Google OAuth2信息填写帐户链接流程,但这似乎不起作用。如果最后一件事应该流利地工作,那么这将是一个足够的答案。 上下文:用户已经只在相关网页上使用谷歌进行身份验证。我所