标签: google-contacts-api

是否有适用于PHP的非Zend Google联系人库?

我需要这个,因为我已经在使用Agavi框架,如果我尝试集成Zend,事情会变得混乱.是否有相当于谷歌联系人的facebook-php sdk?

php google-api google-contacts-api

5
推荐指数
1
解决办法
497
查看次数

Google通讯录API:未经授权的401未知授权标头

我仔细阅读了Google Contacts API文档,但我无法获得正确的PUT请求(即更新).我正在使用带有OAuth gem的Ruby on Rails 3.2(v0.4.5).我使用Omniauth获取令牌,范围定义为" https://www.google.com/m8/feeds "

让我来证明:

ruby-1.9.2-p290 :001 > @access_token.get("https://www.google.com/m8/feeds/contacts/default/full/c1f86b48b52548c", {"GData-Version" => "3.0"})
=> #<Net::HTTPOK 200 OK readbody=true>
Run Code Online (Sandbox Code Playgroud)

如您所见,GET请求运行良好,因此我的OAuth访问令牌应该没问题.DELETE请求也可以工作:

ruby-1.9.2-p290 :002 > @access_token.delete('https://www.google.com/m8/feeds/contacts/default/full/c1f86b48b52548c', { 'GData-Version' => '3.0', 'If-Match' => '"RH46fTVSLyt7I2A9Wx9VFkgMQAU."' })
 => #<Net::HTTPOK 200 OK readbody=true>
Run Code Online (Sandbox Code Playgroud)

到现在为止还挺好.在这里,我按照Google的文档[1]中的说明在请求标题中提供了联系人条目的Etag.所以它不应该造成任何麻烦.

根据OAuth gem文档[2],PUT请求的语法应如下所示:

- (Object) put(path, body = '', headers = {})
Run Code Online (Sandbox Code Playgroud)

以及文档中的示例:

@token.put('/people/123', @person.to_xml, { 'Accept' => 'application/xml', 'Content-Type' => 'application/xml' })
Run Code Online (Sandbox Code Playgroud)

据我所知,我应该发送一个简单的XML字符串作为PUT请求的主体.所以让我们先获取一些示例数据:

ruby-1.9.2-p290 :003 > xmldata = @access_token.get("https://www.google.com/m8/feeds/contacts/default/full/5f74bf0d5c621a", {"GData-Version" => "3.0"}).body

=> "<?xml version='1.0' encoding='UTF-8'?>
      <entry xmlns='http://www.w3.org/2005/Atom' xmlns:gContact='http://schemas.google.com/contact/2008' …
Run Code Online (Sandbox Code Playgroud)

xml oauth google-api google-contacts-api ruby-on-rails-3

5
推荐指数
1
解决办法
1637
查看次数

如何使用google-api-javascript-client或"Contacts API 3.0版"从gmail导入联系人?

我使用2.0版本的Contacts API和Gdata库来导入客户gmail信息.此版本不再受支持,我尝试移至V3,但我看到vd不支持Gdata,我花了一天试图修改当前代码以使用javascript的"Contacts API version 3.0".

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>Gmail Login</title>
        <meta http-equiv="content-type" content="text/html;charset=UTF-8"/>
        <script type="text/javascript" src="http://www.google.com/jsapi"></script>
    </head>
    <body style="margin:0;padding:0;">
        <img src="/images/templates.png" style="display:none;"/>
        <script type="text/javascript">
            google.load("gdata", "2.s");
            google.setOnLoadCallback(function (){
                if(window.location.hash=="") {
                    if(!checkLogin()){
                        logMeIn();
                    } else {
                        var feedUrl = "https://www.google.com/m8/feeds/contacts/default/full";
                        query = new google.gdata.contacts.ContactQuery(feedUrl);
                        query.setMaxResults(5000);
                        myService = new google.gdata.contacts.ContactsService('exampleCo-exampleApp-1.0');
                        myService.getContactFeed(query, function(result) {
                                document.cookie="g314-scope-0=";
                                    window.opener.parseGmailContacts(result.feed.entry);
                            close();
                            }, function(e){
                                alert(e.cause ? e.cause.statusText : e.message);
                        });
                    }
                }
            });
            function logMeIn() {
                scope = "https://www.google.com/m8/feeds";
                var token = google.accounts.user.login(scope);
            }
            function logMeOut() {
                google.accounts.user.logout(); …
Run Code Online (Sandbox Code Playgroud)

javascript google-contacts-api google-api-client

5
推荐指数
1
解决办法
8418
查看次数

NoSuchMethodError:谷歌常见 ImmutableSet.copyOf(..)

我从 1.7 升级了我的 Google app Engine 应用程序。至 1.8。+ Java 7 和我将所有 API 库升级为最新。我在 GAE 容器中的应用程序初始化期间遇到奇怪的异常:

构造函数抛出异常;嵌套异常是java.lang.NoSuchMethodError:

java.lang.NoClassDefFoundError: Could not initialize class com.google.gdata.client.contacts.ContactsService    
.
 and this exception follows :
.
java.lang.NoSuchMethodError: com.google.common.collect.ImmutableSet.copyOf([Ljava/lang/Object;)Lcom/google/common/collect/ImmutableSet;:
.
.
com.google.apphosting.runtime.jetty.AppVersionHandlerMap.createHandler(AppVersionHandlerMap.java:219)
Run Code Online (Sandbox Code Playgroud)

“可疑”图书馆:

  • guava 11.0.2(因为它依赖于实际的 gdata 项目 1.47.1)
  • gdata-contacts-3.0.jar
  • gdata-contacts-meta-3.0.jar
  • gdata-core-1.0.jar
  • gdata-client-1.0.jar
  • gdata-base-1.0.jar
  • http 客户端库版本:1.14.1
  • (以及其他一些与此问题无关的内容)

即使没有番石榴库,也会出现同样的错误。是什么原因导致这种不兼容呢?我没有找到更新版本的 gdata-contact API (1.47.1)。有任何想法吗 ?

google-app-engine google-api gdata google-contacts-api guava

5
推荐指数
1
解决办法
4962
查看次数

Google通讯录API - 获取图片

我在检索用户的联系人图片时遇到了一个简单的问题.所以我提出要求

$url = 'https://www.google.com/m8/feeds/contacts/default/full?alt=json&max-results=9999&oauth_token=' . $accessToken;
Run Code Online (Sandbox Code Playgroud)

然后我获得了巨大的JSON,我从中提取了全名和电子邮件.然后我尝试了联系人的形象,并没有取得任何成功.

我得到所有联系人,每个人都有以下结构:

entry [id, updated, category, title, link, gd$email].
Run Code Online (Sandbox Code Playgroud)

在链接部分,我有四个链接,其中前两个是图像内容的某种链接,但我无法检索它.

任何机构在做这种工作方面都取得了成功!

Tnx很多!

顺便说一句:如果我的案例中缺少一些数据,请报告,我也会添加!

编辑:我也试图用URL访问图像

 http://profiles.google.com/s2/photos/profile/" + userid + "?sz=" + size;
Run Code Online (Sandbox Code Playgroud)

但问题是我无法从联系人JSON获取userId.

google-api google-contacts-api

5
推荐指数
1
解决办法
2015
查看次数

Google Contacts API v3:如何使用全文查询?

我似乎无法使用查询参数搜索Google通讯录.

我可以成功验证用户身份,获取联系人组列表,并获取组内联系人列表,但无法进行搜索.

从文档中,我假设我的URI必须看起来像这样在默认用户的联系人中搜索"tracy"(假设我已经通过OAuth2进行了身份验证):

https://www.google.com/m8/feeds/default/full?q=tracy

但是,我得到一个"错误请求"响应(_rc = 400)

我想我可以下载所有联系人然后自己进行搜索,但我无法想象GOOGLE(!)无法在服务器上进行搜索.

任何帮助非常感谢!谢谢!

google-contacts-api

5
推荐指数
1
解决办法
1669
查看次数

桌面应用程序的多个Google访问权限

我正在用C#编写桌面应用程序,该应用程序应该能够访问Google Apps"帐户"上的所有用户和每个用户的检索日历事件.我已将Calendar API和Admin SDK添加到我的"项目"中.

这两种方法(下面)都可以自行运行,但是当我想为两个API授权我的应用程序时,我收到以下权限错误.

许可不足[403]

invalid_grant",描述:"令牌已被撤销.

这让我想知道在应用程序启动时是否可以请求所有权限,而不是单独授权"功能"?

    static string[] CalendarScopes = {CalendarService.Scope.CalendarReadonly };
    static string[] DirectoryScopes = {    DirectoryService.Scope.AdminDirectoryUserReadonly };

    private static void GoogleCalendar()
    {
        UserCredential credential;

        using (var stream = new FileStream("client_secret.json", FileMode.Open, FileAccess.Read))
        {
            string credPath = Environment.GetFolderPath(Environment.SpecialFolder.Personal);
            credPath = Path.Combine(credPath, ".credentials");

            credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
                GoogleClientSecrets.Load(stream).Secrets,
                CalendarScopes,
                "user",
                CancellationToken.None,
                new FileDataStore(credPath, true)).Result;
        }

        // Create Google Calendar API service.
        var service = new CalendarService(new BaseClientService.Initializer()
        {
            HttpClientInitializer = credential,
            ApplicationName = ApplicationName,
        });

        // Define parameters of …
Run Code Online (Sandbox Code Playgroud)

c# google-calendar-api google-apps google-contacts-api

5
推荐指数
1
解决办法
295
查看次数

C#应用程序 - 阅读Google通讯录

由于Google停止了对旧版Auth的支持,现在我们必须使用oAuth 2,我们的简单桌面应用程序无法再从我的Google帐户中读取联系人.

很好 - 我理解这一点,但是这个新的oAuth 2非常复杂......我不是从开发人员的角度来谈论.从我在线阅读.我们现在必须让我们的客户跳过众多的箍,以便我们的简单应用程序读取存储在他们的Google邮件/联系人中的联系人.

我的iPhone似乎只能使用我一年前输入的典型电子邮件和密码来同步联系人.他们如何让它发挥作用?然而,通过我简单的桌面应用程序,客户端必须在谷歌开发者网站上搜索并使用API​​设置等.我是开发人员,我很困惑! - 你能想象我的客户会经历什么......它不能复杂化.

有没有人可以给我简单的1,2,3让C#桌面应用程序关闭并从特定的Gmail帐户获取联系人(只读)... 最少的摆弄(为Gmail帐户的所有者).

我会完成应用程序中的所有艰苦工作 - 我只是不希望客户端花费一个小时来授权和创建API并在开发人员站点中点击(他/她不是开发人员).

c# gdata google-contacts-api google-oauth

5
推荐指数
1
解决办法
3853
查看次数

如何从Events API获取email_ids(不是G + id)

我正在使用Google API来获取用户的日历活动和联系人.

在获取联系人时,我以下列方式得到答复: -

[
    {
        'phones': [],
        'image_path': '',
        'id': 'ID',
        'emails': ['email1'],
        'name': ABC
    },
    {
        'phones': [],
        'image_path': '',
        'id': 'ID',
        'emails': ['email2'],
        'name': DEF
    }
]
Run Code Online (Sandbox Code Playgroud)

在获取事件时,我得到了以下响应: -

[
    {
        'attendees': [{
            'organizer': True,
            'displayName': 'ABC',
            'id': 'Google+ Id',
            'responseStatus': 'accepted'
        }, {
            'self': True,
            'displayName': 'DEF',
            'id': 'Google+ id',
            'responseStatus': 'accepted'
        }],
        'organizer': {
            'displayName': 'ABC',
            'id': 'Google+ id'
        },
        'creator': {
            'displayName': 'ABC',
            'id': 'Google+ id'
        },
    },
    {
        'organizer': {
            'self': True,
            'displayName': …
Run Code Online (Sandbox Code Playgroud)

google-calendar-api google-api google-contacts-api

5
推荐指数
1
解决办法
241
查看次数

添加到联系人,例如添加到日历按钮/ html / Ajax选项

我想为网页开发一个“添加到联系人”按钮,就像您在网络研讨会和活动页面上看到的“添加到日历-Google,ICal,Outlook”类型的按钮一样

我开始使用它来调查Google通讯录。我开始构建一个表单,将应用程序/ atom + xml提交到他们在帮助文件中讨论的URL 以及Google on Stack的类似问题。

我认为创建此服务是对社区的一种类似于开源的服务,在我进行修补时会得到一些专家帮助。我在这里要求这项贡献。

我的粗糙代码不起作用





函数SendToGoogle(){

var url =“ https://www.google.com/m8/feeds/contacts/default/full”;
var data = contactData();

警报(数据);

/ *
$ .post(网址,数据,功能(数据,状态){
        alert(“ Data:” + data +“ \ nStatus:” + status);
    });
* /
    $ .ajax({type:“ POST”,
        网址:网址,
        dataType:“ xml”,
        contentType:“应用程序/ atom + xml”,
        快取:false,
        异步:是的,
        crossDomain:是的,
        成功:功能(数据,状态){
        alert(“数据:” +数据+“ \ n状态:” +状态)}
})


} //结束SendToGoogle








函数contactData(){
return'Elizabeth Bennet Elizabeth Bennet Notes (206)555-1212 (206)555-1213 Mountain View 1600 Amphitheatre Pkwy CA 94043 United …

javascript outlook addressbook google-contacts-api

5
推荐指数
1
解决办法
362
查看次数