- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用“Google_Client”类来验证对 adwords api 的访问权限,因此:
$REDIRECT_URI = 'http://localhost/GoogleAdwords/auth.php';
$client = new Google_Client();
$client->setApplicationName("App name");
$SCOPES = array('https://www.googleapis.com/auth/adwords'
);
$client->setIncludeGrantedScopes(true);
$client->setAccessType('offline');
$client->setRedirectUri($REDIRECT_URI);
$client->setScopes($SCOPES);
try{
$oauth2 = (new OAuth2TokenBuilder())
->withClientId($OAuthCredentials['clientId'])
->withClientSecret($OAuthCredentials['clientSecret'])
->withRefreshToken($client->getRefreshToken())
->build();
}catch(Exception $err){
//redirect("auth.php");
echo $err;
}
认证后:
$oauth2 = (new OAuth2TokenBuilder())
->withClientId($OAuthCredentials['clientId'])
->withClientSecret($OAuthCredentials['clientSecret'])
->withRefreshToken($client->getRefreshToken())
->build();
$session = (new AdWordsSessionBuilder())
->fromFile()
->withOAuth2Credential($oauth2)
->build();
$adWordsServices = new AdWordsServices();
$managedCustomerService = $adWordsServices->get($session, ManagedCustomerService::class);
$selector = new Selector();
$selector->setFields(['CustomerId', 'Name']);
$selector->setOrdering([new OrderBy('CustomerId')]);
try{
$mccAccounts = $managedCustomerService->get($selector);
}catch(Exchange $e){
// echo $e->getMessage();
}
我很确定客户端已通过身份验证,因为我可以获得 refreshToken 和访问 token 。但是我收到了这个错误:
Client error: `POST https://www.googleapis.com/oauth2/v4/token` resulted in a `401 Unauthorized` response: { "error": "unauthorized_client", "error_description": "Unauthorized" }
这可能是什么问题?我错过了什么吗?
编辑:
使用相同的 $client 访问用户信息和购物内容效果很好,但对于 adwords 则不然。
最佳答案
这对我有用,但我不太了解 Google 的库,无法判断是否有必要,也许其他人可以减少脂肪。
$client = new \Google_Client();
$client->setApplicationName('NAME_HERE');
$client->setAuthConfig(__DIR__ . '/../Credentials/oauth.json');
$client->setAccessType('offline');
$client->setApiFormatV2(2);
//// Load previously authorized credentials from a file.
$oAuth = json_decode(file_get_contents(__DIR__ . '/../Credentials/oauth.json'), true);
$accessToken = json_decode(file_get_contents(__DIR__ . '/../Credentials/token.json'), true);
$client->setAccessToken($accessToken);
$oauth2 = (new OAuth2TokenBuilder())
->withClientId($oAuth['installed']['client_id'])
->withClientSecret($oAuth['installed']['client_secret'])
->withRefreshToken($client->getRefreshToken())
->build();
$session = (new AdWordsSessionBuilder())
->withDeveloperToken('TOKEN_HERE')
->withClientCustomerId("CUSTOMER_ID_HERE")
->withOAuth2Credential($oauth2)
->build();
$adWordsServices = new AdWordsServices();
$managedCustomerService = $adWordsServices->get($session, ManagedCustomerService::class);
$selector = new Selector();
$selector->setFields(['CustomerId', 'Name']);
$selector->setOrdering([new OrderBy('CustomerId')]);
$mccAccounts = $managedCustomerService->get($selector);
dd($mccAccounts) ;
关于php 谷歌广告 api - unauthorized_client,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44468488/
我正在使用“Google_Client”类来验证对 adwords api 的访问权限,因此: $REDIRECT_URI = 'http://localhost/GoogleAdwords/auth
我似乎无法理解为什么我会从 IdentityServer 获得 unauthorized_client。我将 oidc-client 与 Angular 4 ui 和 Web API 的 asp.ne
在我的 IS4 的 Startup.cs 中: services.AddAuthentication() .AddMicrosoftAccount(o => {
在我的 IS4 的 Startup.cs 中: services.AddAuthentication() .AddMicrosoftAccount(o => {
我已经配置了 Azure AD B2C 应用程序,但当我运行该应用程序时出现上述主题错误,可能是什么原因。 Error. An error occurred while processing your
我正在撰写有关如何使用 Postman 从 IDS4 获取 token 的演示。 密码 token 请求取自IDS4's page . [HttpGet("token")] public IActio
尝试刷新访问 token 时出现错误: 400 Bad Request {error : "unauthorized_client"} 从 Google token URI: { "error"
我正在尝试在 nodejs 应用程序上使用 Oauth 和 nodemailer 发送邮件,我在没有 Oauth 的情况下做到了,但我的密码是在代码中写的,所以我转向了 Oauth。 我只想连接自己以
我已经设置身份服务器 4 来扩展 Umbraco,因此它使用自定义角色提供程序。 一切正常,但现在当我被重定向到我的身份服务器时,我收到了这个错误: 任何人都可以阐明这个错误吗?我曾尝试在源代码管理中
在我工作的地方,我们使用 Google Apps for Work。在过去的 9 个月中,我们一直在使用 Gmail API(每天约 2,000 个请求)为我们的支持电子邮件帐户提取新电子邮件。 这是
按照此处提供的步骤 https://learn.microsoft.com/en-us/azure/active-directory/develop/quickstart-register-app 在
这是我的 mvc 与身份服务器连接的初始设置。 app.UseOpenIdConnectAuthentication(new OpenIdConnectAuthenticationOptions
我尝试在Python中访问OAuth2(代码与 http://code.google.com/p/google-api-ads-python/source/browse/trunk/examples/
我们正在尝试构建一项服务,以在我们的 gsuite 域中导出 google drive 文件。 我们正在使用 https://github.com/google/google-api-php-clie
我需要注册我的应用程序才能使用 Outlook 日历 API。我在这里创建了应用程序:https://apps.dev.microsoft.com 。我有应用程序 ID 和重定向 URI。然后我使用以
我正在尝试使用代码 ( https://developers.docusign.com/platform/auth/authcode/authcode-get-token ) 使用 DocuSign
我需要注册我的应用程序才能使用 Outlook 日历 API。我在这里创建了应用程序:https://apps.dev.microsoft.com 。我有应用程序 ID 和重定向 URI。然后我使用以
我正在尝试使用代码 ( https://developers.docusign.com/platform/auth/authcode/authcode-get-token ) 使用 DocuSign
我正在尝试将 Google 云端硬盘服务添加到我的 Objective-C 应用中,但收到: Domain=com.google.HTTPStatus Code=400 "The operation
编辑:错误发生在这段代码上: var gmail = google.gmail('v1'); gmail.users.labels.list({ auth: auth
我是一名优秀的程序员,十分优秀!