标签: google-api

Google Calendar API v3 - 使用硬编码凭据进行身份验证

我正在编写一个PHP应用程序,它应该允许用户将某些事件添加到私人Google日历中.日历由我拥有,我需要一种方法让PHP使用固定凭据与日历API进行通信(每个人都可以使用网站上的表单添加事件,但日历本身不公开).

根据我的阅读,可以在v1 API中使用ClientLogin.但是,在v3 API中,可用选项是OAuth2.0或API密钥.使用API​​密钥似乎不起作用,因为它只能用于不需要授权的请求,而OAuth似乎也不正确,因为用户不应该访问他们自己的日历,而是我的日历应用程序使用

我考虑以编程方式获取OAuth令牌,但由于OAuth对话框可以使用验证码,因此迟早会中断.

这似乎是一个标准的用例 - 一个允许用户以某种预定义的方式与单个日历交互的Web应用程序 - 但我找不到任何关于如何在v3 API中实现它的文档.谁能帮我?

php google-calendar-api google-api google-api-php-client google-oauth2

19
推荐指数
2
解决办法
2万
查看次数

19
推荐指数
2
解决办法
1816
查看次数

如何在PHP中访问Google Spreadsheets API?

Google Spreadsheets API上的Google Developer 文档开始,我发现"许多客户端库都以各种语言提供.",但Google仅提供Java和.NET的客户端库.对于PHP库,他们建议使用Zend GData.因此,我领导了Zend GData回购,Zend表示他们的GData组件已停产,并使用Google API Client Library for PHP.该库不适用于Spreadsheets API,因为您必须返回到我开始使用的原始页面.

所以,似乎每个人都在推卸责任.我只需要编写一些PHP代码来请求和处理来自Google电子表格的数据.我怎么做?请不要将我链接到类似的帖子或页面而不检查以确保它们是100%最新的,我一直在筛选大量的帖子几个小时,这些帖子都是过时的和已弃用的依赖项.

php google-api google-api-php-client google-sheets-api

19
推荐指数
2
解决办法
2万
查看次数

SecurityException:不允许启动服务Intent act = com.google.android.c2dm.intent.REGISTER

我收到错误SecurityException: Not allowed to start service Intent但看起来在搜索了很多主题后没有很好的解决方案.

请帮我,

谢谢,

p/s:

我确保使用正确,SENDER_ID因为项目编号定义Google API Console并且正确package name.

错误:

Caused by: java.lang.SecurityException: Not allowed to start service Intent { act=com.google.android.c2dm.intent.REGISTER pkg=com.google.android.gms (has extras) } without permission com.google.android.c2dm.permission.RECEIVE
            at android.app.ContextImpl.startServiceAsUser(ContextImpl.java:1785)
            at android.app.ContextImpl.startService(ContextImpl.java:1757)
            at android.content.ContextWrapper.startService(ContextWrapper.java:480)
            at com.google.android.gms.gcm.GoogleCloudMessaging.e(Unknown Source)
            at com.google.android.gms.gcm.GoogleCloudMessaging.register(Unknown Source)
            at controller.RegisterGCMClientAsync.doInBackground(RegisterGCMClientAsync.java:62)
            at controller.RegisterGCMClientAsync.doInBackground(RegisterGCMClientAsync.java:18)
            at android.os.AsyncTask$2.call(AsyncTask.java:287)
            at java.util.concurrent.FutureTask.run(FutureTask.java:234)
            at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
            at java.lang.Thread.run(Thread.java:841)
Run Code Online (Sandbox Code Playgroud)

Manifest.xml文件:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="app.cloudstringers" >

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" > …
Run Code Online (Sandbox Code Playgroud)

android google-api android-intent google-api-client google-cloud-messaging

19
推荐指数
2
解决办法
2万
查看次数

Java中的Google API身份验证,不使用环境变量

我已经设置了一个简单的测试应用程序来与Google的Natural Language API进行交互.我创建了一个服务帐户,并下载了JSON凭据.我在本地开发机器上运行,所以我将GOOGLE_APPLICATION_CREDENTIALS环境变量设置为指向JSON文件.为了清楚起见,这可行:应用程序成功进行一些API调用并显示结果.

我想删除对环境变量的依赖.如何在应用程序中使用JSON文件(或任何其他方法)的已知位置来创建LanguageServiceClient具有这些凭据的文件?

java google-api

19
推荐指数
1
解决办法
2606
查看次数

我可以通过编程方式创建Google帐户吗?

有人知道如果通过java中的google api,我可以通过编程方式创建谷歌帐户.

java google-api

18
推荐指数
3
解决办法
4万
查看次数

如何从GoogleCredential获取访问令牌?

我正在尝试获取访问令牌以使用Google Play Android Developer API,而且我使用Google API Java客户端文档示例了解到这一点:

HttpTransport HTTP_TRANSPORT = new NetHttpTransport();
JsonFactory JSON_FACTORY = new JacksonFactory();

GoogleCredential credential = new GoogleCredential.Builder()
    .setTransport(HTTP_TRANSPORT)
    .setJsonFactory(JSON_FACTORY)
    .setServiceAccountId("...gserviceaccount.com")
    .setServiceAccountScopes("https://www.googleapis.com/auth/androidpublisher")
    .setServiceAccountPrivateKeyFromP12File(keyFile)
    .build();
Run Code Online (Sandbox Code Playgroud)

但是如何从此凭据获取访问令牌?credential.getAccessToken()回报null.我做错了什么,或者错过了一些步骤?

authorization credentials google-api access-token oauth-2.0

18
推荐指数
2
解决办法
2万
查看次数

如何在权限页面上更改oauth项目标题

在此输入图像描述

它显示"项目默认服务帐户"而不是我的项目名称,我在谷歌的控制台上看到了项目名称,但是在项目名称附带的给定凭据的权限页面上我看到了标题,很奇怪,任何人都知道如何更改那?

oauth google-api

18
推荐指数
1
解决办法
1万
查看次数

Javascript中的Google API

我想在javascript中从谷歌获取日历信息.我读过"如何"手册.他们没有帮助.即使这种"有用的"复制代码(授权)也没有.有人会这么好教我如何使用谷歌API?也许某人有一些样本要分享

这个美丽的js代码:

<html>
<button id="authorize-button" onclick='handleAuthClick()'>Authorize</button>

<script type="text/javascript">
    var clientId = '***';
    var apiKey = '***';
    var scopes = 'https://www.googleapis.com/auth/plus.me';

    function handleClientLoad() {
        gapi.client.setApiKey(apiKey);
        window.setTimeout(checkAuth,1);
    }

    function checkAuth() {
        gapi.auth.authorize({client_id: clientId, scope: scopes, immediate: true}, handleAuthResult);
    }

    function handleAuthResult(authResult) {
        var authorizeButton = document.getElementById('authorize-button');
        if (authResult && !authResult.error) {
            authorizeButton.style.visibility = 'hidden';
            makeApiCall();
        } else {
            authorizeButton.style.visibility = '';
            authorizeButton.onclick = handleAuthClick;
        }
    }

    function handleAuthClick(event) {
        // Step 3: get authorization to use private data
        gapi.auth.authorize({client_id: clientId, scope: scopes, …
Run Code Online (Sandbox Code Playgroud)

javascript google-api

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

Google登录API挂起未捕获错误无法从URL哈希获取父源

我使用谷歌登录JavaScript客户端几个月没有问题.但最近当用户点击添加到主屏幕的webapp登录按钮时,登录弹出窗口只是挂起而没有显示任何内容.

通过远程调试进行调试时,控制台窗格中会显示错误:

Uncaught Failed to get parent origin from URL hash!
Run Code Online (Sandbox Code Playgroud)

源自4188232449-v2-idpiframe.js:136(由谷歌库内部加载的javascript).

我确定这不是编程/配置错误,因为同一个webapp以前工作了几个月没有问题,我没有修改任何代码.

我已尝试谷歌搜索此特定问题并浏览Google文档,了解Google登录API中的任何最新更改,但没有任何运气.

它是来自Google API Javascript客户端库的错误,来自Android上最近的Chrome浏览器更新的故障,还是我还不知道API使用方面的一些变化?

使用的库是https://apis.google.com/js/platform.js

这是gapi.auth2.init()的init参数:

{
  client_id: GAPI_CID,  // defined as constant
  cookiepolicy: 'single_host_origin',
  prompt: 'select_account',
  ux_mode: 'popup',
  fetch_basic_profile: true
}
Run Code Online (Sandbox Code Playgroud)

任何见解都将非常感激.谢谢.

PS:此问题与Uncaught不同,无法从URL哈希获取父源,因为在这种情况下,问题是由于 Google API控制台中所需凭据配置错误导致的.如果您从来没有成功将登录流程与您的应用程序集成,那么该帖子的回答可能会对您有所帮助.

否则,如果您已成功整合登录流程一段时间,但最近出现问题突然/不规律地出现在弹出窗口的空白屏幕症状,而不是您遇到同样的问题.

javascript google-api google-oauth2 google-signin

18
推荐指数
1
解决办法
1392
查看次数