1

以下代码在尝试检索联系人时返回错误(403 Forbidden)。

Contact contact = cr.Retrieve<Contact>(contactURI);

我将此代码基于 Google 的 Profiles API 页面。https://developers.google.com/google-apps/profiles/。我会很感激任何反馈。

RequestSettings settings = new RequestSettings("Add Profile Photo", "consumerKey", "consumerSecret", username, domain);
ContactsRequest cr = new ContactsRequest(settings);

Uri contactURI = new Uri("http://www.google.com/m8/feeds/profiles/domain/" + domain + "/full/" + username);

Contact contact = cr.Retrieve<Contact>(contactURI);

Stream outStream = File.OpenRead("C:\\temp\\profilePic.jpg");

try
{
    cr.SetPhoto(contact, outStream);
}
catch (GDataVersionConflictException e)
{
    throw new Exception("Exception setting photo: " + e.Message);
}
4

1 回答 1

0

您必须将 RequestSettings 构造函数中的“consumerKey”和“consumerSecret”替换为应用程序的 OAuth Consumer Key 和 Secret。

Documents List API 的文档有很多关于身份验证的详细信息(和 C# 代码),改用 Contacts API 应该很容易适应。

此外,如果您想使用 OAuth 2.0(推荐),请查看库中包含的完整示例:http ://code.google.com/p/google-gdata/source/browse/trunk/clients/cs/samples/ oauth2_sample/oauth2demo.cs

于 2012-05-24T20:11:11.953 回答