我希望我的应用程序以编程方式代表他们更新我的用户的gmail/google通话状态,但由于隐私风险,我不想存储他们的密码
有没有人知道是否/如何使用Oauth或其他形式的身份验证不需要密码存储.
我看到的谷歌数据api文档支持一系列服务,但似乎不支持谷歌联系人api之外的Google Talk/Gmail.
Google Talk API似乎明确声明需要用户名和密码,但我可能会弄错
如果它有帮助,我的应用程序是建立在App Engine上的,所以我至少可以使用内置的用户类来确定他们的用户名和电子邮件,而无需存储他们的密码,但这似乎无法让我访问用户的状态
任何似乎可以实现此目的的应用程序/代码的提示或指针都会有所帮助.谢谢!
Hy家伙,我们正在开发一个系统,为用户提供访问Google Analytics的权限.我正在尝试以这种方式实现它,因此用户无需在我们的网站上输入他们的Google登录凭据,因此尝试使用他们的登录功能.
我有一个解决方案,可以使用用户的电子邮件和密码进行分析.我正在寻找一个解决方案,不需要用户的电子邮件和密码,但找不到任何东西.
怎么做到呢?任何建议或链接将不胜感激.
谢谢
我正在尝试提取Gmail联系人,因此我可以自动填写Gmail中的3,000个左右的联系人.使用Google通讯录数据API,我可以获得(1)默认联系人和(2)组的列表.
但是,(1)默认联系人(http://www.google.com/m8/feeds/contacts/default/full)仅提取"我的联系人"组中的联系人,以及(2)当我查找我的组时(通过Google提供的交互式示例),"其他联系人"不是可用的组从中拉出来.
这导致了一个非常可怕的自动完成体验:我有大约100个"我的联系人"成员,而"其他联系人"中有3,000个联系人; 我只能想象其他Gmail用户大致相同.
我环顾了一下互联网,但发现并没有多少:
到目前为止,我的备份只是要求用户名/密码和抓取(或使用IMAP).那里有更好的方法吗?
所以在页面的末尾说明了一种能够通过AuthSub api(旧的api)撤销此令牌的方法.
我使用新的api OAuth管理整个身份验证系统,当我尝试使用authsub步骤撤销令牌时,它只是向我发送"HTTP错误403:无效的AuthSub令牌".
这是我在python中的代码:
req = urllib2.Request("https://www.google.com/accounts/AuthSubRevokeToken",headers=
{'Authorization':'AuthSub token="mysuperloluselesstoken"'})
urllib2.open(req)
Run Code Online (Sandbox Code Playgroud)
有更简单的方法吗?我应该对secret_token + user_token + consumer做些什么吗?
我已经通过谷歌文件的Oauth和AuthSub方法进行身份验证,我试图谷歌这没有结果.
对于Facebook来说,你可以请求访问令牌是长的寿命,这意味着你将不必被请求新的令牌每隔几个星期.谷歌和YouTube的具体情况是,有任何身份验证方法可以让您永久使用该令牌吗?
在他们的文档中,他们声明他们有长寿但没有其他细节,确切地说有多长,以及你是否能真正得到一个永不过期的细节.
具体来说,我正在制作一个需要每天登录几个帐户的应用程序,但它是通过cron运行的,所以每次都不会有用户登录它,我宁愿不存储实际的用户/通行证到应用程序本身并使用令牌代替.
我一直在研究Google身份验证API(AuthSub)...我的问题是,如何在身份验证通过后获取用户的帐户信息(至少是他们的Gmail地址)?
因为目前,我从验证过程中获得的所有内容都是一个令牌,授予我访问我在范围内指定的Google服务的权限,但是我甚至没有简单的方法来获取用户的登录ID(Gmail地址)告诉...
如果是这样,Google服务允许我访问用户的信息?
我目前正在为我的网站设置Google oauth,我想知道是否可以通过终端在MAC OS X中生成PEM格式的X.509证书?
Google提供此页面作为参考:
http://code.google.com/apis/gdata/docs/auth/authsub.html#Registered
但我希望它可以在Mac OS中完成.
我正在使用JavaScript Google Data API,并且在让AuthSub脚本正常运行时遇到问题.这是我目前的脚本:
google.load('gdata', '1');
function getCookie(c_name){
if(document.cookie.length>0){
c_start=document.cookie.indexOf(c_name + "=");
if(c_start!=-1){
c_start=c_start + c_name.length+1;
c_end=document.cookie.indexOf(";",c_start);
if(c_end==-1) c_end=document.cookie.length;
return unescape(document.cookie.substring(c_start, c_end));
}
}
return "";
}
function main(){
var scope = 'http://www.google.com/calendar/feeds/';
if(!google.accounts.user.checkLogin(scope)){
google.accounts.user.login();
} else {
/*
* Retrieve all calendars
*/
// Create the calendar service object
var calendarService = new google.gdata.calendar.CalendarService('GoogleInc-jsguide-1.0');
// The default "allcalendars" feed is used to retrieve a list of all
// calendars (primary, secondary and subscribed) of the logged-in user
var feedUri …Run Code Online (Sandbox Code Playgroud) 我以前没有和oAuth合作,但现在我正在构建一个Web应用程序,它需要从gmail中的特定标签获取所有邮件,并且使用带有oAuth的IMAP似乎是正确的方法.我刚刚开始,但我已经用谷歌注册了我的开发域名,所以我有一个消费者密钥和秘密但是在"在这里测试你的AuthSub注册".链接在谷歌页面我只授予访问日历(我甚至不需要)我已经搜索了一些,但所有这些新的东西是非常混乱,我找不到使用什么范围参数,我试过将范围参数更改为https://mail.google.com,.. go ../ mail /,.. go ../ mail@user@gmail.com/imap/和..go ../ mail/imap/where ..go ..是https://mail.google.com和https://google.com
那么有人能指出我正确的方向吗?
我目前正在使用Contact Importer网络应用程序(在PHP中),因此我将能够从Gmail,Yahoo等用户的帐户中获取电子邮件地址,并将其用于我自己的恶意目的.开个玩笑,我的网络应用非常友好.
我以为我会从谷歌开始.我发现他们有一个很棒的小API,叫做Google Contacts API,让像我这样的程序员可以访问用户的联系人.
经过几个小时的挣扎并把糟糕的代码扔在一起后,我遇到了几个路障.我的主要问题是:
有什么方法可以让我的用户在我的网站上为Gmail提供他们的用户名和密码,让我的代码检索联系人而不需要那么讨厌的重定向到Google登录页面?这有点毁了我的网络应用程序的整个流程.
我已经查看了AuthSub,并得到了它的工作,但当然问题是你必须重定向用户以获取访问令牌.看起来OAuth会有同样的问题.
我有一线希望是ClientLogin身份验证方法.同样,有一个问题,有时Google会向您抛出CAPTCHA而不是auth令牌.同样,用户流程也被破坏了.
我注意到我们在Twitter上的好朋友们工作得很好.有谁知道他们是怎么做到的?
谢谢!
我们有代码将我们的应用程序日历与登录用户的谷歌日历同步。该代码使用 AuthSub 和 CalendarService 类,但它不提供使用访问令牌和刷新令牌对谷歌日历的离线访问,因为我想使用 OAuth v3 使用日历类。我面临着将旧代码合并到没有 getFeed() 函数的新 v3 Calendar 类的问题。这是我的应用程序中的一些代码
if(StringUtil.isValid(request.getQueryString())) {
onetimeUseToken = AuthSubUtil.getTokenFromReply(request.getQueryString());
}
if(StringUtil.isValid(onetimeUseToken)) {
String sessionToken = AuthSubUtil.exchangeForSessionToken(onetimeUseToken,null);
CalendarService calendarService = new CalendarService("myapp");
calendarService.setAuthSubToken(sessionToken, null);
session.setAttribute("calendarServicesession",calendarService);
userIDforCalendar = (String) session.getAttribute("calendar_user_no");
}
CalendarFeed myResultsFeed1 =service.getFeed(new URL("https://www.google.com/calendar/feeds/default/allcalendars/full"),CalendarFeed.class);
for (int i = 0; i < myResultsFeed1.getEntries().size(); i++) {
CalendarEntry entry = myResultsFeed1.getEntries().get(i);
.....
}
Run Code Online (Sandbox Code Playgroud)
请为我提供一些使用 CalendarService 进行离线访问的方法,这样我就不必对代码进行太多更改。希望得到快速答复。
谢谢- Dravit Gupta
authsub ×11
oauth ×8
gmail ×3
google-api ×2
php ×2
.net ×1
c# ×1
certificate ×1
google-talk ×1
imap ×1
java ×1
javascript ×1
macos ×1
python ×1
status ×1
x509 ×1
youtube-api ×1