我是Google Apps域的管理员,并且正在尝试编写一个程序来访问域中用户的联系人(请注意,我是不是试图获取共享联系人,但每个用户的个人联系人,所以共享联系人API不会帮助)。使用Google Contacts API访问Google Apps域中的其他用户的联系人
最初我使用三脚认证的“推荐”方法(显示一个网页,用户批准使用该标记)。这很好,除非我尝试了除我自己以外的任何用户,否则我会得到一个403禁止的错误。那么我读到这种情况下我想要两脚认证,虽然它已被弃用。
嗯,我已经想出了这个代码,但现在我得到了401 /未经授权的凭证。我不确定问题出在我的代码或其他地方(我注册应用程序的方式或其他地方),但我很难找到有用的文档。
public static Feed<Contact> MakeRequest(string userId, int numberToRetrieve = 9999)
{
var settings = new RequestSettings(Properties.Settings.Default.ApplicationName,
Properties.Settings.Default.ApiKey, Properties.Settings.Default.ConsumerSecret,
Properties.Settings.Default.GoogleUserName, Properties.Settings.Default.Domain);
var cRequest = new ContactsRequest(settings);
var query = new ContactsQuery(ContactsQuery.CreateContactsUri(userId));
query.NumberToRetrieve = numberToRetrieve;
return cRequest.Get(query);
}
实际上,按照本指南进行操作时遇到了问题。特别是,当我转到注册的应用程序并选择我的应用程序(在云控制台中)时,没有显示有关证书或服务帐户的信息。相反,我只看到一个名为“OAuth 2.0客户端ID”的部分。难道我做错了什么? – Casey
我最终设法创建了一个(我认为)与旧的控制台,但我也看不到如何实际应用您的示例。这描述了创建DriveService并将其传递给OAuth2Authenticator对象。那么好吧,除了ContactService没有这样的构造函数。我如何实际提出任何请求? –
Casey