我正在使用Omniauth请求用户gmail凭据,因此我可以稍后请求用户朋友/联系人.
现在我正在使用身份验证请求为我生成的访问令牌获取OmniauthCallbacks控制器内的好友列表.像这样的东西
class Users::OmniauthCallbacksController < Devise::OmniauthCallbacksController
def google
auth = env["omniauth.auth"]
gmail_contacts
....
end
.....
protected
def gmail_contacts
access_token = env["omniauth.auth"]['extra']['access_token']
response = access_token.request(:get,
"https://www.google.com/m8/feeds/contacts/default/full?max-results=10000")
.....
end
end
Run Code Online (Sandbox Code Playgroud)
如何使用我存储在数据库中的凭据来创建新的访问令牌,以便我可以从其他控制器调用google API?
在Google+ API中,有一种搜索公共朋友的方法.
但是,我没有看到一种获取用户朋友的方法.有没有办法让Google+用户的朋友?
我正在实现基于google api javascript库的仅客户端webapp.不幸的是,这个库不支持联系人.或者是吗?这是一个没有文档的功能吗?如果没有,是否有另一种工作方式来访问联系人?例如,已弃用的gdata api?我已经在stackoverflow上找到了关于这个主题的一些答案.但是没有一个人能给我一个明确的答案.
我从 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)
“可疑”图书馆:
即使没有番石榴库,也会出现同样的错误。是什么原因导致这种不兼容呢?我没有找到更新版本的 gdata-contact API (1.47.1)。有任何想法吗 ?
google-app-engine google-api gdata google-contacts-api guava
任何人都可以建议一种方法,如何将联系人从谷歌提取到Android应用程序?
谢谢!
下面是我的代码,我在第 57 行遇到运行时错误。具体来说,它在 AsyncTask 中显示异常。
package com.example.isan.contacts;
import android.os.AsyncTask;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.RandomAccessFile;
import java.net.MalformedURLException;
import java.net.URL;
import com.google.gdata.client.Query;
import com.google.gdata.client.Service;
import com.google.gdata.client.contacts.ContactsService;
import com.google.gdata.data.Link;
import com.google.gdata.data.contacts.ContactEntry;
import com.google.gdata.data.contacts.ContactFeed;
import com.google.gdata.util.AuthenticationException;
import com.google.gdata.util.NoLongerAvailableException;
import com.google.gdata.util.ServiceException;
public class MainActivity extends ActionBarActivity {
private URL feedUrl;
private static final String username="username";
private static final String pwd="password";
private ContactsService service;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String …
Run Code Online (Sandbox Code Playgroud) Google People API
,Google Plus API
不为响应中的id
每个Person
资源提供唯一的。
为什么这已被弃用/删除,以及如何Person
在没有id
.
我目前正在写学士学位论文,我想创建一个软件测试环境。
我发现 Chrome 开发者工具的网络选项卡中显示的请求对于我正在尝试开发的内容非常有帮助。
所以我想知道...是否有一种方法可以将此类请求保存在本地文件中或通过 Java 代码访问它们?
我们有一个 Google Drive Oauth2 应用程序集成。我们正在使用 Google Drive API 导出并获取端点,以便从我们的客户的 Google Drive 文件夹中读取数据。我们的应用程序由 Google Oauth 验证团队发布,但我们无法读取不是(csv、xls、xlsx)Google Docs 文件的文件。
这是一个 API 请求示例: URL:
"https://www.googleapis.com/drive/v3/files/1874uz4MTNer4IszgWG_3pH6VEH2AWJPd?alt=media&access_token=ACCESS_TOKEN"
Run Code Online (Sandbox Code Playgroud)
回复:
"<html><head><meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\"/><title>Sorry...</title><style> body { font-family: verdana, arial, sans-serif; background-color: #fff; color: #000; }</style></head><body><div><table><tr><td><b><font face=sans-serif size=10><font color=#4285f4>G</font><font color=#ea4335>o</font><font color=#fbbc05>o</font><font color=#4285f4>g</font><font color=#34a853>l</font><font color=#ea4335>e</font></font></b></td><td style=\"text-align: left; vertical-align: bottom; padding-bottom: 15px; width: 50%\"><div style=\"border-bottom: 1px solid #dfdfdf;\">Sorry...</div></td></tr></table></div><div style=\"margin-left: 4em;\"><h1>We're sorry...</h1><p>... but your computer or network may be sending automated queries. To protect our users, we can't process your request …
Run Code Online (Sandbox Code Playgroud) 我们正在尝试根据文档在我们的应用程序中跨应用程序和网站启用自动登录
目前,我们已经完成了
asset_statemenets
到清单文件asset_statements
字符串资源添加到strings.xml
但是最新的应用程序仍然无法获取数字资产链接 JSON 中列出的其他应用程序共享的凭据。有没有办法知道凭证链接进度?目前,我们不知道发生了什么,也不知道我们遇到了什么问题。
Google 通讯录允许我们通过传递 * 而不是联系人当前的 Etag 来绕过 Etag 验证以进行编辑/删除请求。
注意:特殊的 Etag 值 * 可用于绕过此验证并处理更新,而不管来自其他客户端的更新如何。
有没有类似的方法可以绕过People API 中编辑/删除的 Etag 验证?
如果在更新期间没有在 Person 对象中发送 etag 值,则会面临以下错误。值“ * ”在 People API 中也不起作用。
要求:
{
"emailAddresses": [
{
"displayName": "test1@gmail.com",
"value": "test1@gmail.com",
"type": "home"
}
]
}
Run Code Online (Sandbox Code Playgroud)
回复:
{
"error": {
"code": 400,
"message": "Request must set person.etag or person.metadata.sources.etag for the source that is being updated.",
"status": "INVALID_ARGUMENT"
}
}
Run Code Online (Sandbox Code Playgroud) android ×2
google-api ×2
gdata ×1
gmail ×1
google-plus ×1
guava ×1
ios ×1
iphone ×1
objective-c ×1
omniauth ×1
ruby ×1