• Blog
  • Forum
  • Community
Sign In  |   Sign Up   |   Ru   Us
  • Salesforce-developer.ru
  • Blog
  • Force.com Canvas

Force.com Canvas

Maxim Elets
6a06bdf084d9ed509dfa8783adced067?d=https%3a%2f%2fsalesforce developer.ru%2fwp content%2fuploads%2favatars%2fno avatar
Medium canvas languages 1

Мы строили, строили и наконец построили :)

Что такое Force.com Canvas?
Force.com Canvas это технология, которая позволяет нам интегрировать сторонние приложения с нашим salesforce оргом.
Не важно на каком языке написано стороннее приложение, важно лишь доступность нашего приложения через https.

Force.com Canvas позволяет нам взаимодействовать с сторонним приложение от имени текущего salesfroce пользователя.

Компоненты Force.com Canvas.

  1. SSL(TLS)/HMAC/SHA - для безопасного обмена данными между нашим приложением и SF оргом
  2. Browser - с поддержкой cross domain javascript
  3. JavaScript / IFRAME - при помощи которых наши приложение встраивается в SF
  4. Salesforce APIs - REST / SOAP для обмена данными
  5. Canvas SDK - javascript api от SF

Где можно разместить Force.com Canvas?

В зависимости от заданных настроек, наше приложение может быть доступно на:

  • Chatter page
  • VisualForce Page
  • Tab
  • Page Layout
  • Standalone

Если мы хотим встроить наше приложение на VF page, мы должны использовать тег <apex:canvasApp /> c fnnhb,enfvb

  • developerName - имя нашего canvas приложения
  • entityFields  - список полей объекта, которые мы хотим передать в наше приложение (доступно с summer 14)
  • parameters - строка в JSON формате ({param1: “value”, param2:value})

Технологии используемые Force.com Canvas

  1. Javascript SDK - позволяет взаимодействовать стороннему приложению с SF
  2. Signed Request - данные отправляемые в наше приложение при помощи POST

    1. Содержит контекстную информацию

      1. User info

      2. Org info

      3. Environment info

      4. Authentication info

    2. JSON формат

Signed Request

Signed Request - параметр который передается в POST запросе в наше стороннее приложение. Это обычная строка, которую можно вытянуть из запроса следующим образом

var srEncoded = Request.Params.Get("signed_request");

Данная строка выглядит как base64 encoded и состоит из двух частей разделунных точкой.

левая_часть.правая_часть

Левая часть представляет собой электронную подпись, которую формирует SF и которую мы должны будем получить на .net стороне.

Правая часть это и есть наши параметры, которые передает SF в формате JSON.

От теории к практике!

Создать Canvas app очень просто. Он создается как и обычный connected app(Setup->Create->Apps->Connected apps), но для правильной работы нужно выполнить следующие шаги:

1. Выставить чекбокс Enable OAuth Settings в true, прописать callback url (совершенно любой урл в нашем случае) и выбрать scope для нашего приложения.

2.  Далее опускаемся ниже (:p) и выставляем Force.com Canvas. Указываем Canvas App Url(по данному урлу и будут происходить взаимодействия между SF и .Net строной). Указываем Access Method как Signed Request и  выбираем Locations(место где будет доступен наш canvas app)

После нажатия на Save будет создан Canvas App.

Стоит отметить, для того чтобы ограничить доступ к нашей .net стороне нам стоит запомнить Consumer Secret( с помощью него мы бедем генерировать и проверядь электронные подписи).

На этом настройка приложение на SF в принципе закончена.

.Net сторона

Я не совсем уверен что стоит подробно описывать все манипуляции, которые нужно провернуть .net части. Поэтому просто оставлю это здесь.(VS2013 solution)

 

Interesting information? Help us, post link to social media.

Last articles

  Salesforce увеличивает Data Storage

  Platform Developer II Тестовая часть

  Chrome расширения для администраторов и разработчиков Salesforce

  Руководство для переезжающих в США. Часть 1

  Get Data From Salesforce (Node.js)

Blog

Popular topics

  PlayStation Xbox ИГРЫ

  Когда закончится эпоха front-end single page application?

  Проблема получения значений в custom metadata types

  Что такое DevOps

  GraphSQL

Forum

Active users

Cbc97fb834111098658c2eae3eab1cbb?size=64&d=https%3a%2f%2fsalesforce developer.ru%2fwp content%2fuploads%2favatars%2fno avatar Dmitry Shnyrev

03590100b09b59bc475c0e7f81aef38b?size=64&d=https%3a%2f%2fsalesforce developer.ru%2fwp content%2fuploads%2favatars%2fno avatar Den Brown

D766d681eadd1720ff1fb6c1b6d9ef90?size=64&d=https%3a%2f%2fsalesforce developer.ru%2fwp content%2fuploads%2favatars%2fno avatar Gres

56e7537d7c41d07611da243e1d3b260a?size=64&d=https%3a%2f%2fsalesforce developer.ru%2fwp content%2fuploads%2favatars%2fno avatar wilder

F1f52569569fcf5089e2545739d4abb5?size=64&d=https%3a%2f%2fsalesforce developer.ru%2fwp content%2fuploads%2favatars%2fno avatar Andrii Muzychuk

Community

Наше сообщество призвано привлечь внимения к Salesforce в России, Украине и Беларуси. Данные сайт создан русскими Salesforce разработчиками для таких же Salesforce разработчиков.

Сайт для поклонников Salesforce в России, Украине и Беларуси.
© Shnyrev D. 2013—2021
Яндекс.Метрика