具有双腿OAuth的Google Apps Email Audit API

时间:2011-12-29 17:38:17

标签: google-api-client

我目前正在尝试使用GData .net API

以下是我正在使用的文档http://code.google.com/googleapps/domain/audit/docs/1.0/audit_developers_guide_protocol.html#retrieving_all_mailbox_status

我要做的是使用2腿认证来执行此示例

using System;
using Google.GData.Apps;
using Google.GData.Extensions.Apps;
...

MailMonitor monitor = new MailMonitor();
monitor.BeginDate = new DateTime(2009, 6, 15);
monitor.EndDate = new DateTime(2009, 6, 30, 23, 20, 0);
monitor.IncomingEmailMonitorLevel = MonitorLevel.FULL_MESSAGE;
monitor.OutgoingEmailMonitorLevel = MonitorLevel.HEADER_ONLY;
monitor.DraftMonitorLevel = MonitorLevel.FULL_MESSAGE;
monitor.ChatMonitorLevel = MonitorLevel.FULL_MESSAGE;
monitor.DestinationUserName = "namrata";

AuditService service = new AuditService("example.com", "example.com-auditapp-v1");
service.setUserCredentials("admin@example.com", "p@55w0rd");
MailMonitor monitorEntry = service.CreateMailMonitor("abhishek", monitor);

我已经到了

var monitor = new MailMonitor
            {
                EndDate = DateTime.Now.AddDays(1),
                IncomingEmailMonitorLevel = MonitorLevel.FULL_MESSAGE,
                OutgoingEmailMonitorLevel = MonitorLevel.HEADER_ONLY,
                DraftMonitorLevel = MonitorLevel.FULL_MESSAGE,
                ChatMonitorLevel = MonitorLevel.FULL_MESSAGE,
                DestinationUserName = "MYUSER"
            };
            var service = new AuditService("MYDOMAIN", "MYDOMAIN-auditapp-v1");
            var requestFactory = new GOAuthRequestFactory("auditapi", "MYDOMAIN-auditapp-v1")
                                     {
                                         ConsumerKey = "MYDOMAIN", 
                                        ConsumerSecret = "MYKEY"
                                     };
            service.RequestFactory = requestFactory;
            var monitorEntry = service.CreateMailMonitor("MYUSER", monitor);

这是为了为一天的即将到来的电子邮件设置监视器。响应是未知授权标头(错误401)。

我从遵循本指南http://code.google.com/googleapps/domain/articles/2lo-in-tasks-for-admins.html

获得了密钥

我不知道如何调试这个,我找不到使用Email Audit API的2腿认证的示例,我不能使用wireshark,因为这是加密流量。

1 个答案:

答案 0 :(得分:0)

你用什么钥匙?
记住API密钥与Consumer Secret不同。消费者秘密是您的域名独有的东西。

您可以通过访问域名的Cpanel找到您的消费者秘密 - >高级设置 - >管理OAuth域密钥。这是您的域名和Google共享的秘密 Here是一份供您参考的文档。