标签: google-contacts-api

从android联系人选择器获取联系信息

我正在尝试拨打联系人选择器,将人名,电话和电子邮件发送到字符串中,并使用意图将其发送到另一个活动.到目前为止,这工作:

Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);  
startActivityForResult(intent, 1);  

// ...

@Override  
public void onActivityResult(int reqCode, int resultCode, Intent data) {  
    super.onActivityResult(reqCode, resultCode, data);  
    if (resultCode == Activity.RESULT_OK) {  
        Uri contactData = data.getData();  
        Cursor c =  managedQuery(contactData, null, null, null, null);  
        if (c.moveToFirst()) {  
            String name = c.getString(c.getColumnIndexOrThrow(ContactsContract.Contacts.DISPLAY_NAME));  
            Intent intent = new Intent(CurrentActivity.this, NewActivity.class);  
            intent.putExtra("name", name);  
            startActivityForResult(intent, 0);  
        }  
    }  
}
Run Code Online (Sandbox Code Playgroud)

但如果我加入:

String number = c.getString(c.getColumnIndexOrThrow(ContactsContract.CommonDataKinds.Phone.NUMBER)); 
Run Code Online (Sandbox Code Playgroud)

它强行关闭

也许是获得他们号码的另一种方式?

android contacts google-contacts-api contactscontract

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

当我或其他用户尝试使用OAuth2进行授权时,我不断收到我的应用需要验证的错误.那是什么意思?

尝试使用我自己的帐户授权我的应用时收到此错误:

Your project is trying to access scopes that need to go through the verification process.

{invalid=https://www.googleapis.com/auth/contacts}

If you need to use one of these scopes, submit a verification request. Learn More
Run Code Online (Sandbox Code Playgroud)

当我使用其他帐户时,错误消息是不同的:

This app hasn’t been verified to access:
{invalid=https://www.googleapis.com/auth/contacts}


Are you the developer? If this project needs these scopes, sign in to an account with access to edit your project and try again.

If not, contact the developer for help.
Run Code Online (Sandbox Code Playgroud)

google-api google-contacts-api google-oauth gmail-api

16
推荐指数
1
解决办法
6872
查看次数

使用Google JavaScript Client Lib的Google Contacts API

我正在尝试使用Google Contacts API v3.

由于OAuth2身份验证和授权,我开始使用适用于JavaScriptGoogle API客户端库.我对API访问的那部分没有任何问题.

但在做了auth部分后,我不知道接下来该做什么.我可以将google-api-javascript-client用于Google Contacts API v3吗?在javascript-client支持的Google API列表中,不显示联系人API.但我可以使用OAuth 2.0 Playground工具完全访问.

我真的很困惑哪个客户端最适合使用最新的Google Contacts API.什么是gdata-javascript-client

javascript google-api google-contacts-api google-api-js-client

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

Java,C#,Python或Ruby中的Google Contacts API是否有Hello World示例?

有人能指出我一步一步的例子,它解释了如何开始使用Google Contacts API并展示完整的工作演示?

最好是在Java中,但它也可以是C#,Python或Ruby.

目标

我想做的就是

  1. 加载现有联系人,
  2. 将它添加到一个组和
  3. 保存联系人.

问题

我几乎都失败了.

  • 无法使身份验证工作
  • 找不到包含我在Internet上找到的代码段中使用的类的库
  • 无法对现有联系人执行CRUD操作

这是我正在寻找的一些伪代码.

import com.google.contacts.*

public class UpdateContactDemo {

   public static void main(String args[]) {
      GoogleContactsApi g = new GoogleContactsApi("username", "password");
      Contact c = g.get("Bob");
      c.addGroup("Friends");
      g.save(c);
   }
}
Run Code Online (Sandbox Code Playgroud)

我已经做了什么

好吧,我搜索了教程,API示例以及我能想到的所有其他内容 - 并且失败了.我发现了一堆像这样的来源:

但不包含初学者的端到端示例.

c# ruby java google-api google-contacts-api

14
推荐指数
1
解决办法
3355
查看次数

Android 3.0 - 如何通过ContactsContract检索所有联系人

我正在开发Android Honeycomb(v3.0)应用程序,该应用程序需要显示存储在设备上注册的Google帐户中的所有联系人.我遇到的一个问题是,我只能检索"我的联系人","Android中已加星标"和"其他联系人"中可用的联系人.我还希望能够从"目录"中检索联系人.我认为"目录"部分是Google向希望向其他人提供其域内所有成员/员工目录的组织和公司提供的功能.请看下面的截图:

目录

到目前为止,我的清单文件中有以下行:

<uses-permission android:name="android.permission.READ_CONTACTS" />
Run Code Online (Sandbox Code Playgroud)

我试过使用这段代码:

Cursor cursor = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null); 
while (cursor.moveToNext()) { 
    String name = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
} 
cursor.close();
Run Code Online (Sandbox Code Playgroud)

在我的情况下,"我的联系人"和"在Android中加星标"是空的.但是,获得了"其他联系人"中的(1)联系人.但是,"目录"包含数百个未检索的联系人.

我的问题:有没有办法确保检索"目录"中的联系人?我知道我可以简单地使用网络浏览器复制联系人,然后将它们同步到设备,但如果新的联系人被添加到"目录",我必须每次都手动执行此操作,所以这不是对我来说很棒的选择.请指教.

android google-contacts-api contactscontract android-contacts android-3.0-honeycomb

13
推荐指数
1
解决办法
1872
查看次数

使用Google API Client,如何创建客户端

我正在努力使用Google API客户端:https://github.com/google/google-api-ruby-client

具体来说,我想使用以下内容通过Google API客户端访问Google通讯录google_contacts_api.rb:https://gist.github.com/lightman76/2357338dcca65fd390e2

我试图这样使用google_contacts_api.rb(x是故意的,实际上是正确的键):

require './lib/google_contacts_api.rb'
auth = User.first.authentications.first
client = OAuth2::Client.new('x', 'x', :site => 'https://accounts.google.com')
oauth2_object = OAuth2::AccessToken.new(client, auth.token)
x = ContactList::GoogleContactsApi.new(client, oauth2_object).all_contacts
Run Code Online (Sandbox Code Playgroud)

这是错误的,undefined method因为#是你的意思吗?gem`

我认为问题是我没有client正确发送,我无法找到任何显示如何创建的文档或示例client.有关如何使其工作的任何建议?

谢谢

ruby ruby-on-rails google-api google-contacts-api google-api-ruby-client

13
推荐指数
1
解决办法
2296
查看次数

批量删除联系人时出现"If-Match或If-None-Match header或entry etag attribute required"错误

我正在使用gdataPython库来完成批量删除的联系人,我只是得到"If-Match或If-None-Match标头或条目etag属性需要"错误.

我认为问题是在我必须在控制台中启用Contacts API时开始的(直到几天前才需要它?*).

编辑:

实际上,更新和删除操作都失败了.批量插入工作正常.

尝试指定If-Match标题,但它仍然失败:

custom_headers = atom.client.CustomHeaders(**{'If-Match': '*'})
request_feed = gdata.contacts.data.ContactsFeed()
request_feed.AddDelete(entry=contact, batch_id_string='delete')
response_feed = self.gd_client.ExecuteBatch(
        request_feed,
        'https://www.google.com/m8/feeds/contacts/default/full/batch',
        custom_headers=custom_headers
)
Run Code Online (Sandbox Code Playgroud)

还在项目页面上创建了一张票,但我怀疑它会在那里得到任何关注.

编辑2:

使用Batch带有force=True(只添加If-Match: *标题)的方法是相同的结果.

response_feed = self.gd_client.Batch(
    request_feed,
    uri='https://www.google.com/m8/feeds/contacts/default/full/batch',
    force=True
)
Run Code Online (Sandbox Code Playgroud)

*有人可以验证吗?我以前从未在控制台中启用它,我的应用程序能够毫无问题地使用Contacts API,我相信它之前甚至都没有.昨天我很惊讶.

python google-api google-contacts-api

11
推荐指数
1
解决办法
1608
查看次数

Google Contacts API与People API

我遇到了上述2个API的问题.鉴于下一个场景:我有2个不同的谷歌帐户.一个不使用Google+和另一个使用Google+的帐户

在第一个不使用Google+的帐户上使用通讯录API时,我可以看到所有联系人:

GET /m8/feeds/contacts/<email>/full
Run Code Online (Sandbox Code Playgroud)

使用Google+的第二个帐户也是如此.

当我使用People API作为第一个不使用Google+的帐户时,我的回复是空的(实际上我只是获得了下一个同步令牌:

GET https://people.googleapis.com/v1/people/me/connections
Run Code Online (Sandbox Code Playgroud)

随着下一个范围:

https://www.googleapis.com/auth/contacts
Run Code Online (Sandbox Code Playgroud)

返回:

{
  "nextSyncToken": "CMe6...."
}
Run Code Online (Sandbox Code Playgroud)

对第二个帐户(使用Google+)的同一调用就像一个魅力

两个帐户之间的唯一区别是Google+,People API是否可以仅适用于Google+帐户?或者是我缺少的其他东西

google-api google-contacts-api google-people

11
推荐指数
1
解决办法
5550
查看次数

Google API:获取联系人照片

我已经能够通过遵循API检索除联系人照片之外的所有内容.

我可以获得img url以及返回的xml中的gd:etag.以下是Google API示例,它与我获得的内容相同,当然,我的联系人的属性值也不同.

    <link rel='http://schemas.google.com/contacts/2008/rel#photo' type='image/*'
  href='https://www.google.com/m8/feeds/photos/media/liz%40gmail.com/c9012de'
  gd:etag='"KTlcZWs1bCp7ImBBPV43VUV4LXEZCXERZAc."'>
Run Code Online (Sandbox Code Playgroud)

问题是我不知道如何让它显示.当我尝试它时,我只是得到网址的最后一部分(即:"/ 32432eewqdweq")而没有图像.

我正在使用rails,这是我进行Web开发的第二周,对不起,如果我看起来很无聊啊.

任何帮助,将不胜感激!

谢谢,

戈兰

google-api google-contacts-api

10
推荐指数
1
解决办法
8306
查看次数

通过无人参与脚本导出GMail联系人

GMail有一个方便的窗口,可以将所有联系人导出为CSV文件.如果您执行此操作然后查看浏览器的历史记录,您会看到用于启动下载的URL类似于:

https://mail.google.com/mail/c/data/export?exportType=GROUP&groupToExport=%5EMine&out=GMAIL_CSV&tok=rQt5BTUBABA.N0gr2-zKkG9868fM7tF_FQ.fOgeVayblkGavK2AuFjZ2t

我想在Python中编写一个批处理脚本,它会每晚自动将这个CSV文件下载到我的服务器,但我无法弄清楚如何获得"tok".我已经研究过Google的OAuth,但它似乎是一个人机交互过程,而我需要在凌晨3点发生这种情况,因为所有可用的人都会睡着.

可以这样做,还是Google让我的电子邮件帐户"安全",以至于我无法通过无人参与的脚本访问它?

谢谢!Bryon M. Elliott

python gmail export contacts google-contacts-api

10
推荐指数
2
解决办法
3716
查看次数