我想允许用户在网站上使用谷歌登录并收集他们的姓名和电子邮件地址,但我找不到关于google的API的用户信息范围的任何文档:https://www.googleapis.com/auth/userinfo.
谢谢
我一直在努力/希望解决这个问题很长一段时间.我已经阅读了gspread的文档,但我发现有一种方法可以重命名工作表.你们任何人都知道怎么做?我会非常欣赏它!确实workheet.title给出了工作表的名称,但我找不到重命名实际工作表的方法.
先感谢您!
python google-api google-sheets google-api-python-client google-sheets-api
我们正在通过我们的App Engine应用程序中的云存储JSON API生成可恢复的上传URL,这些应用程序可用于移动设备和Web应用程序.在Web应用程序中,使用XmlHttpRequest上传具有可恢复上传URL的文件,我们收到以下错误:
XMLHttpRequest无法加载https://www.googleapis.com/upload/storage/v1beta2/b/ ...请求的资源上没有"Access-Control-Allow-Origin"标头.因此,不允许来源" https://ourapp.appspot.com "访问.
在Chrome开发人员工具中,网络日志显示第一个OPTIONS请求,其中包含相应的"Origin"请求标头和"Access-Control-Allow-Origin"响应标头,但后面提到的PUT请求失败.
我们的桶上的cors xml看起来像这样:
<?xml version="1.0" encoding="UTF-8"?>
<CorsConfig>
<Cors>
<Origins>
<Origin>*</Origin>
</Origins>
<Methods>
<Method>PUT</Method>
<Method>GET</Method>
<Method>POST</Method>
<Method>HEAD</Method>
<Method>DELETE</Method>
<Method>OPTIONS</Method>
</Methods>
<ResponseHeaders>
<ResponseHeader>*</ResponseHeader>
</ResponseHeaders>
<MaxAgeSec>1800</MaxAgeSec>
</Cors>
</CorsConfig>
Run Code Online (Sandbox Code Playgroud)
欢迎任何建议.
谢谢.
google-app-engine xmlhttprequest google-api google-cloud-storage
我正在尝试使用Google Speech API v2(地址https://www.google.com/speech-api/v2/recognize?...)
我需要使用我的Api Key,但是当我使用它时,我得到了 error 403 Forbidden
当我使用我下载的示例项目上的API密钥时,它工作正常.
我在Google Developers Console上看到,我可以启用很多api选项,但没有找到任何Speech-API选项.还有什么我需要启用才能使用我的密钥访问此API?
谢谢!
我正在开发一款产品,计划在接下来的4-5周推出,我已经阅读了很多关于谷歌播放控制台的新功能的博客,即Pre-Register-App在发布之前.所以我也想做同样的事情,我挖谷歌发现了许多博客,它解释了什么Pre-registering,但没有找到任何博客解释,我们如何做到这一点,我甚至挖掘谷歌播放开发者控制台的任何选项Pre-registering.助手将受到高度赞赏.
博客链接
1).https://play.google.com/store/apps/details?id=com.google.android.apps.fireball&hl=en
3).http://www.theverge.com/2015/5/10/8581483/pre-register-button-added-to-google-play
谢谢!
我们的一些用户通过Google OAuth API进行身份验证(https://developers.google.com/+/web/api/rest/oauth)
除了2019年4月之后,Google版OAuth API的未来是什么?
除了OAuth之外,我们使用以下端点获取用户的电子邮件和名称:https://www.googleapis.com/plus/v1/people/me一旦我们获得访问令牌.该端点是否已过时?
使用谷歌网址缩短器api,它工作正常,直到我开始测试负载.尽管我已经注册使用API并且每天有1,000,000次点击,但很快就会收到来自Google的403率限制超出错误的错误.我可以看到谷歌报告工具中的请求,他们只是发回403的所有内容.403开始以大约345/350点击回到API,持续数小时.
思考?
Google即时和Google Keep中基于时间和位置的提醒与Google日历活动提醒不同.是否有公共API可以在Now and Keep中访问这些事件提醒?
我希望下面的代码能够发送电子邮件,但我只是得到了这个:
发生错误:调用POST时出错 https://www.googleapis.com/gmail/v1/users/me/messages/send:(400)错误请求
我得到一个200 OK使用谷歌开发者控制台这里在底部.有帮助吗?
$client_id = '599901532082-js1r50n20q6n5mir9fo1g81qkj9kfn3j.apps.googleusercontent.com';
$service_account_name = '599901532082-js1r50n20q6n5mir9fo1g81qkj9kfn3j@developer.gserviceaccount.com';
$key_file_location = '/tmp/APIProject-cb6558ba6435.p12';
$client = new \Google_Client();
$client->setApplicationName("Client_Library_Examples");
$service = new \Google_Service_Gmail($client);
if (isset($_SESSION['service_token'])) {
$client->setAccessToken($_SESSION['service_token']);
}
$key = file_get_contents($key_file_location);
$cred = new \Google_Auth_AssertionCredentials(
$service_account_name,
array('https://www.googleapis.com/auth/gmail.send', 'https://www.googleapis.com/auth/gmail.compose'),
$key
);
$client->setAssertionCredentials($cred);
if ($client->getAuth()->isAccessTokenExpired()) {
$client->getAuth()->refreshTokenWithAssertion($cred);
}
//check if you want the validity of this string at: http://www.komeil.com/toolbox/base64decoder
//it is web safe base64 encoded email
$mime = "RnJvbTogSm9obiBEb2UgPHRpcmVuZ2FyZmlvQGdtYWlsLmVzPiANClRvOiBNYXJ5IFNtaXRoIDx0aXJlbmdhcmZpb0BnbWFpbC5jb20-IA0KU3ViamVjdDogU2F5aW5nIEhlbGxvIA0KRGF0ZTogRnJpLCAyMSBOb3YgMTk5NyAwOTo1NTowNiAtMDYwMCANCk1lc3NhZ2UtSUQ6IDwxMjM0QGxvY2FsLm1hY2hpbmUuZXhhbXBsZT4NCg0KVGhpcyBpcyBhIG1lc3NhZ2UganVzdCB0byBzYXkgaGVsbG8uIFNvLCAiSGVsbG8iLg==";
$service = new \Google_Service_Gmail($client);
$msg = new \Google_Service_Gmail_Message(); …Run Code Online (Sandbox Code Playgroud) 我正在开发一个使用Google电子表格作为数据库的Android应用程序.应用程序应使用Sheets API v4在电子表格中获取GET,APPEND和UPDATE值.前两个函数工作正常但我更新特定行时遇到困难.我需要在它的第一列("批次ID")中找到一个具有特定值的行,并更新该行中的所有单元格.
这就是我的电子表格的样子.
现在我正在修改这样的行:
ValueRange response = this.mySheetsService.spreadsheets().
values().get(spreadsheetId, range).execute();
List<List<Object>> values = response.getValues();
String rangeToUpdate;
Log.i(TAG, "all values in range: " + values.toString());
int i = 0;
if (values != null) {
for (List row : values) {
i += 1;
if (row.get(0).equals(selectedBatchID)) {
Log.i(TAG, "IT'S A MATCH! i= " + i);
rangeToUpdate = "A" + (i + 1) + ":E" + (i + 1); //row to be updated
}
}
}
/*once I have the row that …Run Code Online (Sandbox Code Playgroud) google-api ×10
android ×2
oauth ×2
gmail-api ×1
google-apps ×1
google-keep ×1
google-now ×1
google-oauth ×1
google-play ×1
google-plus ×1
php ×1
prelaunch ×1
python ×1
reminders ×1
speech ×1