2016-11-07 6 views
3

Я только что создал учетную запись sendgrid. Затем я перешел к настройкам => Ключи API и нажал «Создать ключ API» и дал любое возможное разрешение.API Sendgrid: предоставленный грант на предоставление прав недействителен, истек или отменен

Тогда я создал C# проект, добавил NuGet пакеты и поместить мой записи в привет мир код из here

public async Task HelloEmail() 
{ 
      dynamic sg = new SendGrid.SendGridAPIClient("XXX-XXXXXXXXXXXXXXXXXX", "https://api.sendgrid.com"); 

     Email from = new Email("[email protected]"); 

     String subject = "Hello World from the SendGrid CSharp Library"; 
     Email to = new Email("[email protected]"); 
     Content content = new Content("text/plain", "Textual content"); 
     Mail mail = new Mail(from, subject, to, content); 
     Email email = new Email("[email protected]"); 
     mail.Personalization[0].AddTo(email); 

     dynamic response = await sg.client.mail.send.post(requestBody: mail.Get()); 

     var x=response.StatusCode; 
     var y = response.Body.ReadAsStringAsync().Result; 
     var z = response.Headers.ToString(); 
} 

Но я получаю

Несанкционированное =>

" {\ "errors \": [{\ "message \": \ "Предоставленный грант разрешения недействителен, истек или отменен \", \ "поле \": null, \ "help \": null}]} "


В примере они получили ключ API от EnvironmentVariableTarget.User, он связан с этим?

string apiKey = Environment.GetEnvironmentVariable("NAME_OF_THE_ENVIRONMENT_VARIABLE_FOR_YOUR_SENDGRID_KEY", EnvironmentVariableTarget.User); 
dynamic sg = new SendGridAPIClient(apiKey); 

* Проблема заключается в том, что никто не читает сообщения при создании ключа, а также Microsoft хочет показать нам «API Key ID», который является худшим имя когда-либо

Это не дубликат, потому что хотя причина была одна и та же, никто не догадается, так как в C# мы используем библиотеку nuget, а не api.

+0

Возможный дубликат [Send Grid, кажется, предотвращает отправку сообщений по электронной почте моему узлу js] (http://stackoverflow.com/questions/34789622/send-grid-seems-to-be-preventing-my-node-js -server-send-emails) – bwest

+0

@bwest это не дубликат, так как мы используем библиотеку nuget, а в другом вопросе они использовали api. Поэтому, хотя ответ один и тот же, вопросы разные, и никто не догадается, если он не знает проблему, или читает правильный вопрос. –

+0

Это то же точное сообщение об ошибке, первопричина и решение, независимо от языка, поэтому это одно и то же фундаментальная проблема. Это критерии дублирования на SO. Но мы посмотрим, что делают моды. – bwest

ответ

2

С вашим ключом API что-то не так. Проверьте this answer, сгенерируйте новый ключ и дважды проверьте свои разрешения.

Вам также не нужно указывать URL-адрес в SendGrid.SendGridAPIClient. Я бы удалил эту строку для уменьшения жестко заданных значений.

+0

Это правильно. Я не знаю, почему они сделали это так –

 Смежные вопросы

  • Нет связанных вопросов^_^