С# Gmail-API Отправить запрос Null Reference Expression

Я пытаюсь отправить электронное письмо с помощью Gmail-API, но получаю Insufficient Permission. Вот мой код:

var msg = new AE.Net.Mail.MailMessage
            {
                Subject = "[ENC] " + textBox2.Text,
                From = [MyEmailHere],
                Body = textBox6.Text
            };

            msg.To.Add(new MailAddress(textBox1.Text));
            msg.ReplyTo.Add(msg.From);

 var msgStr = MimeMessage.CreateFromMailMessage(msg);

 var gmailMessage = new Google.Apis.Gmail.v1.Data.Message
            {
                Raw = Base64UrlEncode(msgStr.ToString())
            };
            UsersResource.MessagesResource.SendRequest request = service.Users.Messages.Send(gmailMessage, "me");
            request.Execute();

Исключение появляется в последней строке.

Мой пример RAW для отправки:

RnJvbTogcHBhbmFraW5AZ21haWwuY29tDQpSZXBseS1UbzogcHBhbmFraW5AZ21haWwuY29tDQpUbzogcHBhbmFraW5AZ21haWwuY29tDQpTdWJqZWN0OiBbRU5DXSBhZGRzDQpDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9dXRmLTgNCg0Kw6_Cv8K9PcOvwr_CvVrDr8K_wr0Jw6_Cv8K9w4LCtMOvwr_CvTobF8Ovwr_CvTw

Дополнительный вопрос: Как получить мой адрес электронной почты из учетных данных или авторизации?


person Triti    schedule 14.03.2017    source источник
comment
Где получить исключение? Вы пробовали отлаживать? Где останавливается отладчик? По крайней мере, опубликуйте полное исключение, включая его стек вызовов, возвращенный Exception.ToString(). В данный момент вы не предоставляете информацию, которая могла бы помочь найти проблему   -  person Panagiotis Kanavos    schedule 14.03.2017
comment
@PanagiotisKanavos, его второй вопрос верен. Если я отредактирую его, можем ли мы договориться об удалении дубликата? Как получить мой адрес электронной почты из учетных данных или авторизации?   -  person DaImTo    schedule 14.03.2017
comment
@DaImTo второй вопрос должен быть опубликован как другой вопрос. Это тоже недопустимо - слишком широко. Вы ничего не получаете от учетных данных, вы аутентифицируете пользователя и получаете все, что хотите, от профиля пользователя. Где это или как оно хранится, зависит от самого приложения. ASP.NET предлагает собственный механизм профилей пользователей. Бизнес-приложения обычно извлекают такую ​​информацию из Active Directory.   -  person Panagiotis Kanavos    schedule 14.03.2017
comment
Я получаю: Object reference not set to an instance of an object   -  person Triti    schedule 14.03.2017
comment
@Triti, пожалуйста, прочитайте дубликат. В нем объясняется, что это за исключение и как устранить проблему. Вы пробовали отлаживать? Где останавливается отладчик? Кроме того, то, что вы опубликовали, является сообщением об исключении, а не выводом Exception.ToString(). Полное исключение включает стек вызовов, т. е. в каком методе и в какой строке возникло исключение.   -  person Panagiotis Kanavos    schedule 14.03.2017
comment
Я не согласен с тем, что он слишком широкий. Существует несколько способов вернуть текущий адрес электронной почты аутентифицированного пользователя. Однако мне интересно, зачем ему это нужно, когда отправка меня должна работать нормально. Если только он не собирается использовать адрес электронной почты текущего аутентифицированного пользователя в качестве отправителя в своей новой почте. @Triti Сейчас я тестирую ваш код, дайте мне несколько минут.   -  person DaImTo    schedule 14.03.2017
comment
@DalmTo разные вопросы, разные сообщения. Кроме того, вы не можете не согласиться с тем, что это слишком широко, тогда скажите There are several ways to return the current authenticated users email address.. Это определение too broad. Для их описания потребуется по крайней мере одна полная статья, даже если вы рассмотрели только встроенные методы.   -  person Panagiotis Kanavos    schedule 14.03.2017
comment
@PanagiotisKanavos Я вижу, что ваше определение «широкий» намного шире, чем мое.   -  person DaImTo    schedule 14.03.2017
comment
Exception.ToString() показывает то, что я говорил вам раньше. Исключение появляется в строке 115, которая является последней строкой кода. Я не буду его вставлять, потому что он написан на моем национальном языке.   -  person Triti    schedule 14.03.2017
comment
@Triti, пожалуйста, stackoverflow.com/q/42783192/1841839 дайте мне знать, если у вас возникнут проблемы.   -  person DaImTo    schedule 14.03.2017
comment
@DalmTo GetProfile() отлично работает, спасибо   -  person Triti    schedule 14.03.2017
comment
Я последовал вашему совету и изменил код. Теперь я получаю: "The service gmail has thrown an exception: Google.GoogleApiException: Google.Apis.Requests.RequestError Insufficient Permission [403 Errors Message[Insufficient Permission] Location[ - ] Reason[insufficientPermissions] Domain[global in Google.Apis.Requests.ClientServiceRequest.Execute()   -  person Triti    schedule 14.03.2017
comment
Пожалуйста, отредактируйте свой вопрос, чтобы включить в него код и сообщения об ошибках. Не ожидайте, что люди прочитают все комментарии, чтобы понять ваш вопрос.   -  person Dour High Arch    schedule 15.03.2017