我有谷歌正式工作的oauth授权,我从联系人api获取数据.现在,我想以编程方式获取gmail用户的名字,姓氏和图片.哪个google api可以用来获取这些数据?
我正在使用Google Places API检索有关地点的数据,但无法找到如何获取该地点的图片,Google Places API只提供不一样的图标.例如,我需要您在网络浏览器中搜索Google地图中的地点时获得的照片.通常会有更多来自Panoramio的图片,但Panoramio API只能按位置搜索图片,而不能按特定的餐馆或酒店名称搜索.有任何想法吗?
我有一个应用程序,我通过Google服务帐户从Analytics API收集有关我网站的大量信息.我的下一步是使用服务帐户创建电子表格,并与几个用户共享文档.
我已经在https://developers.google.com/google-apps/spreadsheets/上查看了文档,但我找不到有关服务帐户和共享文档的任何内容.
所以我的第一个问题是可能的吗?如果不是,我需要实施文档中举例说明的"使用我的个人帐户"吗?如果是的话,请你提供一个例子吗?
谢谢!
我注意到Google通过网址接受任何语言的音译和IME请求:
https://inputtools.google.com/request?text=$&itc=$&num=$\
&cp=0&cs=1&ie=utf-8&oe=utf-8&app=test
Run Code Online (Sandbox Code Playgroud)
$对于任何语言和文本,where 是下面的变量.
例如,法语(试一试):
var text = "ca me plait",
itc = "fr-t-i0-und",
num = 10;
// Result:
[
"SUCCESS",
[
[
"ca me plait",
[
"ça me plaît"
]
]
]
]
Run Code Online (Sandbox Code Playgroud)
或者,普通话(试试):
var text = "shide",
itc = "zh-t-i0-pinyin",
num = 5;
// Result:
[
"SUCCESS",
[
[
"shide",
[
"??",
"??",
"??",
"??",
"??"
],
[],
{
"annotation": [
"shi de",
"shi de",
"shi de",
"shi de",
"shi de"
] …Run Code Online (Sandbox Code Playgroud) 我可以使用Javascript客户端从Google Cloud Endpoints获取博客帖子列表:
gapi.client.blog.posts.list().execute(function (resp) {
console.log(resp);
});
Run Code Online (Sandbox Code Playgroud)
但我需要在Google Cloud Endpoints请求中设置包含用户令牌的自定义标头值(这可能是来自Facebook的访问令牌).如何使用Google的Javascript客户端执行此操作?我可以通过不使用谷歌的Javascript客户端解决这个问题,但我宁愿使用它.
https://developers.google.com/appengine/docs/java/endpoints/consume_js https://developers.google.com/api-client-library/javascript/reference/referencedocs
编辑
看来我可以像这样传递自定义标头值:
gapi.auth.setToken({
access_token: 'this is my custom value'
});
Run Code Online (Sandbox Code Playgroud)
虽然看起来不是很好的做法.有一个更好的方法吗?
嗨,我正在使用谷歌可视化API在我的网站绘制时间表图表.它工作得很好.但是有一件事困扰着我.我想在图表区域中显示一条垂直线来表示当前日期.请让我知道任何解决方案.
我的代码:
<script type="text/javascript" src="https://www.google.com/jsapi?autoload={'modules':[{'name':'visualization','version':'1','packages':['timeline']}]}"></script>
<script type="text/javascript">
google.setOnLoadCallback(drawChart);
function drawChart() {
var container = document.getElementById('example3.1');
var chart = new google.visualization.Timeline(container);
var dataTable = new google.visualization.DataTable();
dataTable.addColumn({ type: 'string', id: 'Position' });
dataTable.addColumn({ type: 'string', id: 'Name' });
dataTable.addColumn({ type: 'date', id: 'Start' });
dataTable.addColumn({ type: 'date', id: 'End' });
dataTable.addRows([
[ 'President', 'George Washington', new Date(2014, 3, 29), new Date(2014, 4, 3)],
[ 'President', 'John Adams', new Date(2014, 2, 3), new Date(2014, 3, 3)],
[ 'President', 'Thomas Jefferson', new Date(2014, …Run Code Online (Sandbox Code Playgroud) 我有一个将数据发送到Google Analytics的应用.我有兴趣在Hadoop集群上访问和存储这些数据.我猜这个原始数据将以日志的形式出现.特别是,我希望看到user_id,用户进行的搜索以及他/她决定在应用上支付的搜索选项.
我怎样才能做到这一点?我是GA的新手,我不是那个为应用程序设置GA的人.我只是想看看是否有办法可以访问这些原始数据.
想补充说我不能使用Big Query,因为我们无法访问它.设置GA的人对升级到Universal Analytics不感兴趣.
任何帮助/想法/建议表示赞赏.
谢谢!
hadoop google-analytics google-api raw-data universal-analytics
我正在使用googles官方oauth2client.client访问google plus api.我有一个存储在数据库中的刷新令牌(不会过期),需要从中重新创建临时"凭据"(访问令牌).
但我无法找到一种方法来与谷歌提供的官方图书馆这样做.
所以我讨厌它:使用urllib访问API,从refresh_token给我一个新的access_token.使用access_token我可以使用该库.
我一定是想念一下!
from apiclient import discovery
from oauth2client.client import AccessTokenCredentials
from urllib import urlencode
from urllib2 import Request , urlopen, HTTPError
import json
# ==========================================
def access_token_from_refresh_token(client_id, client_secret, refresh_token):
request = Request('https://accounts.google.com/o/oauth2/token',
data=urlencode({
'grant_type': 'refresh_token',
'client_id': client_id,
'client_secret': client_secret,
'refresh_token': refresh_token
}),
headers={
'Content-Type': 'application/x-www-form-urlencoded',
'Accept': 'application/json'
}
)
response = json.load(urlopen(request))
return response['access_token']
# ==========================================
access_token = access_token_from_refresh_token(CLIENT_ID, CLIENT_SECRET, REFRESH_TOKEN)
# now I can use the library properly
credentials = AccessTokenCredentials(access_token, "MyAgent/1.0", None)
http = …Run Code Online (Sandbox Code Playgroud) 如何在用户撤销授权之前永久授权Google客户端?
我正在尝试创建一个连接到Google日历的应用.它必须在PHP中运行,因此我使用谷歌提供的Google API PHP客户端.
该应用程序需要具有脱机访问权限,以便在用户不在会话中时可以使用.该应用程序旨在让用户在网站等上公开管理和显示他的日历.
我使用服务方法(具有客户端ID和客户端密钥)在Google控制台中创建了凭据.使用Google API客户端,我还要求用户授权.我打开一个新的浏览器窗口,用户授权,Google会返回授权码.我使用此代码,存储并使用它来授权客户端,该客户端成功连接到Google日历并交换数据.
现在,我明白这是一个即将到期的令牌.除非我使用离线访问,我设置.但是,几分钟或更短时间后,我总会收到错误:Error fetching OAuth2 access token, message: 'invalid_grant: Code was already redeemed.
这是我用来连接客户端的代码:
$client = new \Google_Client();
$client->setApplicationName( 'My App' );
$client->setScopes( array( \Google_Service_Calendar::CALENDAR ) );
$client->setClientId( $this->google_client_id );
$client->setClientSecret( $this->google_client_secret );
$client->setRedirectUri( $this->google_client_redirect );
$client->setAccessType( 'offline' );
if ( $code = $this->google_client_auth ) {
try {
$client->authenticate( $code );
} catch( \Exception $e ) {
var_dump( $e );
}
}
return new \Google_Service_Calendar( $client );
Run Code Online (Sandbox Code Playgroud)
这是一个类中的方法.
客户端ID和客户端密钥存储在应用程序设置中.
我也将用户返回的代码存储在一个设置中,但我认为这是我做错的地方?我在一个单独的方法(也使用相同的客户端ID)中将链接放到Google OAuth窗口并秘密和设置离线方法).并获得授权工作.我可以到达日历.它只是不会持续很长时间...
我是使用Google API的新手,但我有一个项目要求我访问他们的域名以通过电子邮件查找用户的经理.在我开始编写代码之前,我想要设置所有内容,因此我按照PHP 的示例文件进行操作.我能够让它工作,但是在令牌过期时刷新令牌有一些问题并且研究推动我使用服务帐户,因为这是一个服务器cron脚本,我不想处理任何用户交互.
我创建了服务帐户,启用了G Suite域范围的委派,并为以下内容添加了访问权限: https://www.googleapis.com/auth/admin.directory.user.readonly
我得到了一个Google_Service_Exception脚本.
回应是:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "notFound",
"message": "Domain not found."
}
],
"code": 404,
"message": "Domain not found."
}
}
Run Code Online (Sandbox Code Playgroud)
我假设这意味着它不知道帐户域,但我不知道如何解决这个问题.我认为,如果这是一个权限问题,谷歌会告诉我.我尝试在线搜索,但没有运气,因为我发现的问题是使用不同的方法,并且修复不是可以在服务帐户上完成的.我现在被卡住了,所以我希望朝着正确的方向努力让我走上正轨.
这是我正在使用的测试脚本:
<?php
require_once( __DIR__. '/vendor/autoload.php' );
define('CREDENTIALS_PATH', '/path/to/service_account.json');
define('SCOPES', implode(' ', array(
Google_Service_Directory::ADMIN_DIRECTORY_USER_READONLY)
));
date_default_timezone_set('America/New_York');
/**
* Returns an authorized API client.
* @return Google_Client the authorized client object
*/
function getClient() {
$client = new Google_Client();
$client->setApplicationName('TestingApp');
$client->setAuthConfig(CREDENTIALS_PATH);
$client->setScopes(SCOPES);
return …Run Code Online (Sandbox Code Playgroud) google-api ×10
oauth ×2
php ×2
android ×1
google-maps ×1
google-oauth ×1
google-plus ×1
hadoop ×1
ime ×1
java ×1
javascript ×1
panoramio ×1
python ×1
raw-data ×1