标签: google-api

获取空刷新令牌

我正在使用 google-api-java-client 版本 1.8-beta 对 Google 帐户进行 oAuth2 身份验证。一切都很好,直到我得到 GoogleTokenResponse 对象,它有访问令牌但没有刷新令牌。要构建请求 url,我使用以下方法:

...
    googleAuthenticationUrl = new GoogleAuthorizationCodeRequestUrl(CLIENT_ID, callBackUrl, scopes).build();
...
Run Code Online (Sandbox Code Playgroud)

获取请求令牌时,我将其与此行中的访问令牌交换:

...
GoogleTokenResponse tokenResponse =  new GoogleAuthorizationCodeTokenRequest(new NetHttpTransport(), new JacksonFactory(), CLIENT_ID, CLIENT_SECRET, request.getParameter(CODE_URL_PARAM), callBackUrl).execute();
...
Run Code Online (Sandbox Code Playgroud)

返回的 GoogleTokenResponse 对象不包含刷新令牌:

{"access_token":"ya29.AH..etc...9-Y","expires_in":3600,"token_type":"Bearer"}
Run Code Online (Sandbox Code Playgroud)

你能解释一下这个问题吗?非常感谢您的帮助!

oauth google-api google-api-java-client

2
推荐指数
1
解决办法
8403
查看次数

Google Analytics API 401 凭据无效

我正在绞尽脑汁想弄清楚如何使用Google API PHP 客户端来访问 Google Analytics。具体来说,我想从其他广告系列上传成本数据。我的代码确实可以从 GA 获取信息,我可以查看配置文件的流量数据,但我不知道如何上传。

这是我用于身份验证的代码:

require_once 'google-api-php-client/src/Google_Client.php';
require_once 'google-api-php-client/src/contrib/Google_AnalyticsService.php';
session_start();

$client = new Google_Client();
$client->setApplicationName("GA-Tester");
$client->setClientId('xxx.apps.googleusercontent.com');
$client->setClientSecret('xxx');
$client->setRedirectUri('http://www.site.com/indext.php');
$client->setDeveloperKey('xxx');

$analyticsService = new Google_AnalyticsService($client);
$dailyUploads = $analyticsService->management_dailyUploads;

if (isset($_GET['logout'])) {
  unset($_SESSION['token']);
}
if (isset($_GET['code'])) {
  $client->authenticate();
  $_SESSION['token'] = $client->getAccessToken();
  $redirect = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'];
  header('Location: ' . filter_var($redirect, FILTER_SANITIZE_URL));
}
if (isset($_SESSION['token'])) {
  $client->setAccessToken($_SESSION['token']);
}
if (!$client->getAccessToken()) {
  header ('Location:http://www.site.com/indext.php');
} else {...
Run Code Online (Sandbox Code Playgroud)

此代码确实适用于请求数据。我可以获得帐户列表、配置文件、下载特定配置文件的流量数据等。没有错误或问题。

当我尝试上传包含成本数据的 CSV 文件时,出现“401 凭据无效”错误。这是发送文件的代码:

$send = $dailyUploads->upload( …
Run Code Online (Sandbox Code Playgroud)

php google-analytics google-api oauth-2.0

2
推荐指数
1
解决办法
7223
查看次数

使用 Node 的 Google API 批量请求

我注意到 Google 最近从他们的 Node 客户端删除了批量请求:

https://github.com/google/google-api-nodejs-client/blob/0db674b7d3a04cf65e223f876cf7b3f427025cd4/MIGRATING.md

如何使用 Node 编写批处理请求?我试图在给定一组邮件 ID 的情况下获取 Gmail 中电子邮件的内容。

以下是 Google 说我应该这样做的方式,但我以前从未提出过此类请求:

https://developers.google.com/gmail/api/guides/batch

google-api node.js google-api-nodejs-client node-request

2
推荐指数
1
解决办法
2858
查看次数

使用 Google Data Transfer API 的 insert 方法开始传输

我正在尝试使用Google Admin SDK Data Transfer APItransfers:insert方法。我正在以我的域的超级管理员帐户执行此 API 调用。我已验证为我们的域启用了API 访问,并且超级管理员管理员角色有权使用数据传输 API。

我正在此页面上的 API 资源管理器中对此进行测试。

55656082996是我从Applications:list APIs Explorer为 Google Drive 获取的 ID 字符串。

要求:

POST https://www.googleapis.com/admin/datatransfer/v1/transfers?key={YOUR_API_KEY}
{
 "oldOwnerUserId": "olduser@ourdomain.com",
 "newOwnerUserId": "newuser@ourdomain.com",
 "applicationDataTransfers": [
  {
   "applicationId": "55656082996"
  }
 ]
}
Run Code Online (Sandbox Code Playgroud)

回复:

400 OK
- SHOW HEADERS -
{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "invalid",
    "message": "Invalid value for: Invalid oldOwnerUserId."
   }
  ],
  "code": 400,
  "message": "Invalid value for: Invalid oldOwnerUserId." …
Run Code Online (Sandbox Code Playgroud)

google-api google-apps google-admin-sdk

2
推荐指数
1
解决办法
847
查看次数

在哪里可以找到 Google 自定义搜索 API 的国家/地区代码值列表?

查看 Google 自定义搜索 API 的文档,“gl”参数的国家/地区代码列表不可用。

gl 参数值是一个由两个字母组成的国家/地区代码。gl 参数会提升原产国与参数值匹配的搜索结果。有关有效值的列表,请参阅国家/地区代码页面。

在这里找到的链接:https : //developers.google.com/custom-search/json-api/v1/reference/cse/list

指向这里:https : //developers.google.com/custom-search/docs/xml_results#countryCodes

其中不包含任何国家/地区代码。

在哪里可以找到有效国家/地区代码值列表,以便确定有效值集?

google-api google-custom-search

2
推荐指数
1
解决办法
8445
查看次数

为什么在尝试从我的 ios 应用中获取 google+ 个人资料图片时会收到错误代码 403?

我有一个用户的谷歌 ID,我想在我的应用程序中显示他的谷歌个人资料照片。在我的swift代码中,我尝试使用必要的信息获取 json(基于此答案/sf/answers/1576829131/)。这是我的代码:

 Alamofire.request(.GET, "https://www.googleapis.com/plus/v1/people/10263...4252?key=AI...Oo")
            .responseJSON { response in

                print(response)
                switch response.result {
                case .Success:

                    dispatch_async(dispatch_get_main_queue(),{

                        if let jsonData = response.result.value as? [[String: AnyObject]] {
                            print(jsonData)
                        }

                    })
                case .Failure(let error):
                    print("SWITCH ERROR")
                    print(error)
                }

        }
Run Code Online (Sandbox Code Playgroud)

但作为回应,我收到此错误:

    error =     {
        code = 403;
        errors =         (
                        {
                domain = usageLimits;
                extendedHelp = "https://console.developers.google.com";
                message = "There is a per-IP or per-Referer restriction configured on your API key and the request does not match these restrictions. Please …
Run Code Online (Sandbox Code Playgroud)

google-api ios swift google-console-developer google-signin

2
推荐指数
1
解决办法
2146
查看次数

使用 YouTube Data API V3 按关键字搜索视频

我的目标是使用 YouTube Data API v3 搜索与输入关键字匹配的 YouTube 视频。现在,YouTube 数据 API v3 只允许您使用“q”参数搜索通过开发人员的应用程序或网站上传的视频,但它不允许您像我们在 YouTube 中所做的那样对与输入搜索关键字匹配的视频进行通用搜索应用。

如果我错过了指南中的某些内容或者有一些解决方法可以实现这一点,请纠正我。

java youtube google-api youtube-data-api

2
推荐指数
1
解决办法
9173
查看次数

如何获得国家及其城市的列表?

任何人都可以帮助我获得一份国家名单和一份他们的城市名单吗?是否有任何用于获取这些列表的 google Api?

android google-api

2
推荐指数
1
解决办法
4777
查看次数

如何使用谷歌 API 获取服务帐户的身份验证令牌?

我有一个 Wordpress 站点(运行 PHP),需要使用 google-api 向访问者显示自己的分析数据。我想用 Javascript 创建图表,所以我需要从 PHP 代码中获取一个身份验证令牌,然后将其传递给 Javascript 代码。我不知道如何获取身份验证令牌。

到目前为止,我使用我的服务帐户使用了与此类似的代码:https : //github.com/google/google-api-php-client/blob/master/examples/service-account.php

我的代码:

$client = new Google_Client();
$client->setAuthConfig($credentialsFilePath);

$client->addScope('https://www.googleapis.com/auth/analytics.readonly');
$client->setApplicationName("GoogleAnalytics");


$analytics = new Google_Service_Analytics($client);
$ga = $analytics->data_ga;

$start = date('Y-m-d', strtotime('-7 days'));
$end   = date('Y-m-d');

$views = $ga->get('ga:'.$myAnalyticsId,
                $start,
                $end,
                'ga:pageviews,ga:sessions,ga:newUsers',
                array(
                    'dimensions' => 'ga:date',
                    'sort' => 'ga:date'
                ));
Run Code Online (Sandbox Code Playgroud)

这一切正常,我能够连接到 Google_Service_Analytics 并获取分析数据。但是,我无法弄清楚如何使用我的凭据获取服务访问令牌,我可以将其交给 Javascript 代码,以便我可以从 Javascript 使用 Google Analytics API。

这不起作用:

$token = $client->getAccessToken();
Run Code Online (Sandbox Code Playgroud)

令牌最终为空。我需要做什么来获取令牌?

php google-api oauth-2.0

2
推荐指数
1
解决办法
2349
查看次数

如何从 Google 获取公司信息?

如果我们在谷歌搜索公司的网站,我们会得到以下结果。我需要获取公司信息和成立年份。没有员工我怎么能得到。有没有可用的API?你能帮我解决这个问题吗?谢谢

在此处输入图片说明

google-api

2
推荐指数
1
解决办法
2594
查看次数