2016-07-08 3 views
2

Я тестировал API-интерфейс настроек электронной почты со многими сторонними инструментами и, как представляется, разбивал встроенные изображения (Base64), однако WebGUI может создавать встроенные изображения в подписи с некоторыми браузерами.Новые настройки сигнатур API GMail

Усовершенствовано ли это в подписи GMAIL API? Будет ли новый API принимать (или продолжать разделять) встроенные изображения?

+0

Вы говорите о [Настройки электронной почты API] (HTTPS: //developers.google.com/admin-sdk/email-settings/#manage_signature_settings), вы можете проверить документ о том, как управлять сигнатурой [настройки] (https://support.google.com/a/answer/175190 ? = гл ен). –

+0

Нет. Я говорю о новых изменениях API Gmail, которые были выпущены. Документация не отвечает на этот вопрос. В нем говорится, что «Google будет дезинфицировать подпись» без указания того, какой html является и не разрешен. – Dom

ответ

0

Gmail не поддерживает встроенное вложение изображений для подписей, только привязка изображений.

В общем, API не предоставляет никаких возможностей, помимо того, что уже предоставляет пользовательский интерфейс.

+0

Ahh это неверно. Вы можете встроить изображение, скопировав и вставив уже встроенное встроенное изображение из Outlook, например, в Chrome в поле подписи GMail. У нас есть целая компания с встроенными встроенными изображениями, мы просто хотели бы сделать это с API, а не с каждым пользователем вручную. – Dom

0

Я не знаю, отвечает ли он именно на ваш вопрос о встраивании встроенного изображения, но я смог встроить изображение в подпись через HTML, используя новый API Gmail. Как упоминал в предыдущем ответе Brandon Jewett-Hall, это связанное изображение, и вам нужно разместить это изображение на сервере. Но с учетной записью gmail вы можете бесплатно размещать изображения на сайтах Google, не забывая оставить страницу, содержащую эти изображения, общедоступной в Интернете. Если у вас есть G Suite Basic или Business, вы можете использовать Google Apps Script для изменения подписи всех пользователей в вашем домене. См. Это сообщение: How to use the Gmail API, OAuth2 for Apps Script, and Domain-Wide Delegation to set email signatures for users in a G Suite domain

Возможно, этот пример кода может помочь вам при вставке изображения через HTML, где в теге <img src> я использовал общедоступный образ, размещенный в Википедии.

Убедитесь, что OAuth2 For Apps Script библиотека добавляется к вашему проекту:

function gmailSignatureImage() { 

    var email = '[email protected]' 

    var service = getDomWideDelegationService('Gmail: ', 'https://www.googleapis.com/auth/gmail.settings.basic', email); 

    var resource = { signature: '<div><strong>My signature image</strong></div>' + 
      '<div><img src="https://upload.wikimedia.org/wikipedia/commons/thumb/2/2f/Google_2015_logo.svg/251px-Google_2015_logo.svg.png" '+ 
      'alt="" border="0" /></div>' }; 

    var requestBody    = {}; 
    requestBody.headers   = {'Authorization': 'Bearer ' + service.getAccessToken()}; 
    requestBody.method    = "PUT"; 
    requestBody.contentType  = "application/json"; 
    requestBody.payload   = JSON.stringify(resource); 
    requestBody.muteHttpExceptions = false; 

    var emailForUrl = encodeURIComponent(email); 
    var url = 'https://www.googleapis.com/gmail/v1/users/me/settings/sendAs/' + emailForUrl; 
    var setSignatureResponse = UrlFetchApp.fetch(url, requestBody); 
} 


// these two things are included in the .JSON file that you download when creating the service account and service account key 
    var OAUTH2_SERVICE_ACCOUNT_PRIVATE_KEY = '-----BEGIN PRIVATE KEY-----\nxxxxxxxxxxxxxxxxxxxxx\n-----END PRIVATE KEY-----\n'; 
    var OAUTH2_SERVICE_ACCOUNT_CLIENT_EMAIL = 'xxxxxxxxxxxxxxxxxxxxx.iam.gserviceaccount.com'; 


function getDomWideDelegationService(serviceName, scope, email) { 

    Logger.log('starting getDomainWideDelegationService for email: ' + email); 

    return OAuth2.createService(serviceName + email) 
    // Set the endpoint URL. 
    .setTokenUrl('https://accounts.google.com/o/oauth2/token') 

    // Set the private key and issuer. 
    .setPrivateKey(OAUTH2_SERVICE_ACCOUNT_PRIVATE_KEY) 
    .setIssuer(OAUTH2_SERVICE_ACCOUNT_CLIENT_EMAIL) 

    // Set the name of the user to impersonate. This will only work for 
    // Google Apps for Work/EDU accounts whose admin has setup domain-wide 
    // delegation: 
    // https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority 
    .setSubject(email) 

    // Set the property store where authorized tokens should be persisted. 
    .setPropertyStore(PropertiesService.getScriptProperties()) 

    // Set the scope. This must match one of the scopes configured during the 
    // setup of domain-wide delegation. 
    .setScope(scope); 

} 

Результатом моей подписи была такова:

Gmail Signature Image

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

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