当前位置: 首页 > 知识库问答 >
问题:

谷歌AdWords API授权错误。服务访问被拒绝

马弘和
2023-03-14

我正在尝试向Google AdWords API发出任何请求,该请求将返回非错误。

An error has occurred: [AuthorizationError.SERVICE_ACCESS_DENIED @ ]

我使用开发者令牌创建了生产MCC帐户,此外,我还从测试帐户在google开发者控制台中创建了测试MCC帐户和OAuth2应用程序。

另外,我已经测试了不同的帐户(生产MCC,测试MCC,启用adword的用户,没有adword的用户)为auth应用程序/用户从谁的请求已

适用于任何设置/不同的客户端。我正在获取访问令牌、刷新令牌并过期。

下面是googled-php-lib生成的auth url示例

https://accounts.google.com/o/oauth2/auth?response_type=code&client_id=XXXX&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fadwords&access_type=offline

我正在使用googleads php lib/examples和curl进行查询。我也尝试过不同的服务

下面是googleads php lib/examples/AdWords/Auth/createadwordsUserWithOutifile的片段。php

$customerService = $user->GetService("CustomerService");
$customer = $customerService->get();
printf("You are logged in as customer: %s\n", $customer->customerId);

更详细的错误日志

[Jul 22 2015 17:58:57.000000 - ERROR] effectiveUser= service=CustomerService method=get operators={} responseTime=233 requestId=00051b757ec645820ac2a364d90c7911 operations=0 units= server=a dwords.google.com isFault=true faultMessage= [AuthorizationError.SERVICE_ACCESS_DENIED @ ]

<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Header>
    <ResponseHeader xmlns:ns2="https://adwords.google.com/api/adwords/cm/v201506" xmlns="https://adwords.google.com/api/adwords/mcm/v201506">
     <ns2:requestId>00051b848d9382a80ac219c38e02d5f3</ns2:requestId>
   <ns2:serviceName>CustomerService</ns2:serviceName>
   <ns2:methodName>get</ns2:methodName>
   <ns2:operations>0</ns2:operations>
   <ns2:responseTime>466</ns2:responseTime>
 </ResponseHeader>
 </soap:Header>
 <soap:Body>
   <soap:Fault>
     <faultcode>soap:Server</faultcode>
     <faultstring>[AuthorizationError.SERVICE_ACCESS_DENIED @ ]</faultstring>
     <detail>
       <ApiExceptionFault xmlns="https://adwords.google.com/api/adwords/mcm/v201506" xmlns:ns2="https://adwords.google.com/api/adwords/cm/v201506">
         <ns2:message>[AuthorizationError.SERVICE_ACCESS_DENIED @ ]</ns2:message>
        <ns2:ApplicationException.Type>ApiException</ns2:ApplicationException.Type>
          <ns2:errors xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns2:AuthorizationError">
         <ns2:fieldPath/>
         <ns2:trigger/>
         <ns2:errorString>AuthorizationError.SERVICE_ACCESS_DENIED</ns2:errorString>
         <ns2:ApiError.Type>AuthorizationError</ns2:ApiError.Type>
         <ns2:reason>SERVICE_ACCESS_DENIED</ns2:reason>
       </ns2:errors>
     </ApiExceptionFault>
   </detail>
 </soap:Fault>

一般来说,API是可以工作的,因为我收到了不同的错误和故意的错误凭证。例如

AuthenticationError.NOT_ADS_USER

AuthorizationError.USER_PERMISSION_DENIED
  • 我应该从哪个帐户登录以进行测试

我觉得我错过了一些合乎逻辑的步骤,也许谷歌应该为我批准,或者我需要庄严地发誓朝北方看吗?

非常感谢您的建议。

共有1个答案

公冶谦
2023-03-14

事实证明,谷歌只允许为生产MCC提供特定的服务,而我并没有对其进行测试。

对于AdWords的其他用户来说,这不应该是一个问题,因为这是我的MCC的特定案例。

 类似资料:
  • 我有一个和B个AWS帐户,并且我正在将S3 bucket从一个帐户SoruceS3Bucket同步到B个帐户destinations3bucket。 以下是应用于目标bucket的bucket策略,它允许源AWS帐户将内容与destinations3bucket同步。 这里的同步很长时间以来一直工作正常,现在仍在工作,但最近几天在DestinationS3Bucket文件无法访问,出现服务器端加密

  • 此外,我运行(没有-g),但它不起作用。是否存在其他安装Typescript的方法?我的操作系统是Linux Ubuntu16.04。我很少使用,也不知道如何解决这个问题。 我的问题是:到底哪些目录需要该权限?

  • 我对spring security&oauth2相当陌生。作为学习的一部分,我试图设置一个OAuth2授权服务器,并保护RESTendpoint免受未经授权的访问。 代码 资源服务器 ProductController.java 未经授权API可以正常工作 如果我们只使用权限(@preauthorize(“hasauthorize('...')”))进行授权,它可以正常工作 作用域在到达oauth

  • 我正在尝试Google Cloud Vision API(测试版),它返回“权限被拒绝”消息。但该项目启用了“云视觉API”。感谢您的帮助。 谷歌API浏览器中的错误详细信息

  • 我想使用谷歌驱动器作为一个网站的准CMS工作,我正在使内容所有者可以编辑他们的内容使用谷歌驱动器。我希望使用一个可以访问Google Drive的特定用户帐户(在写这篇文章时,服务帐户不能直接访问Google Drive),并且能够与内容所有者共享文档。 在阅读了API和教程之后,我在委托中找到了答案:https://developers.google.com/drive/development

  • 问题内容: 在某种程度上,当我尝试通过命令行访问MySQL时,已经设法解决了该错误: 我尝试使用此HowTo重置密码,但没有任何运气。 我已经卸载了mysql completley并重新安装了,但是仍然需要输入密码。我不知道为什么会这样! 有人可以帮我获得默认安装的MySQL吗? 环境 Fedora Core 10,完全根访问权限,安装了Apache和PHP 感谢您的任何帮助!! 编辑 对于所有想