MicrosoftDocs / azure-docs

Open source documentation of Microsoft Azure
https://docs.microsoft.com/azure
Creative Commons Attribution 4.0 International
10.28k stars 21.46k forks source link

Salesforce Marketing Cloud using ADF #45574

Closed thecpshah closed 4 years ago

thecpshah commented 4 years ago

We want to ingest data from SFMC using the in-built connector from Azure Data Factory.

The connector needs two things: client ID and client secret. The team managing SFMC has given me these values but when I try the, I get an error:

Authentication failed: Malformed response received from the authentication server that does not include the following required parameters for the next authentication step: "Auth_AccessToken" located at "accessToken" from the server response; "Auth_expires" located at "expiresIn" from the server response.

Also see other responses about this problem here https://salesforce.stackexchange.com/questions/290012/help-with-salesforce-marketing-cloud-using-adf

Can you please help? This is a very critical issue on a project.


Document Details

Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

himanshusinha-msft commented 4 years ago

Thanks for the feedback and bringing this to our notice . At this time we are reviewing the feedback and will update the document as appropriate .

thecpshah commented 4 years ago

Hello @himanshusinha-msft is there any update on this?

himanshusinha-msft commented 4 years ago

@thecpshah :You are is using enhanced package of Salesforce Marketing Cloud, which is not supported by ADF currently. But there’s a workaround .

  1. Go to ADF portal, and create an ODBC linked service
  2. Set "Authentication type" as "Anonymous"
  3. Set "Connection String" as "Driver={Microsoft Salesforce Marketing Cloud ODBC Driver};host=;Auth_Type=OAuth_2.0;Auth_Client_ID=;Auth_Client_Secret=;Auth_AccessToken=;UseEncryptedEndpoints=1;UseHostVerification=1;UsePeerVerification=1" (The host can be found in the Salesforce Marketing Cloud dashboard -> Settings -> Apps tab -> Installed apps table -> click on the package you’ve installed, find the "REST Base URI" without "https://")
KranthiPakala-MSFT commented 4 years ago

@thecpshah We will now proceed to close this thread as we have not heard back from you. If there are further questions regarding this matter, please tag me or @himanshusinha-msft in your reply and reopen the issue. We will gladly continue the discussion.

ghost commented 4 years ago

Hello, @himanshusinha-msft, @KranthiPakala-MSFT we've encountered the same error as @thecpshah did and the workaround proposed just above does not work after filling the host, ClientId and ClientSecret values - the error remains the same. Is fix for this situation planned for development?

willturcios1 commented 4 years ago

Hello @himanshusinha-msft, @KranthiPakala-MSFT I have also encountered the same error. I have the same error with the workaround as @dodzik18. Are we missing some type or parm ?

KranthiPakala-MSFT commented 4 years ago

Hi @dodzik18, @willturcios1 : Thanks for reaching out and sorry you are experiencing this. if you have a support plan, could you please file a SR, that way a Support engineer can take a deeper look into the issue. Else please do email below details to AzCommunity@microsoft.com.

Subject of the email: <Attn - [Kranthi : GitHub issue title] GitHub issue URL: [GitHub issue link] Subscription ID:  [your subscription id] Linked Service JSON code : [Complete JSON Code of Linked service] (We need this to verify the connection string is correct/wrong) Linked service Screen Shot: [Screenshot of your linked service]

Let us know here once the email is sent.

willturcios1 commented 4 years ago

Hi @KranthiPakala-MSFT thank you so much for your response! I have sent an email with the information you requested.

Thanks again.

KranthiPakala-MSFT commented 4 years ago

@willturcios1 Thanks much for sharing the details. I am working with internal team on this issue and will get back to you once I have further information.

jominne commented 4 years ago

Same error here. I hope the issue will be solved soon!

KranthiPakala-MSFT commented 4 years ago

Hi @linda33wj , we have multiple users reporting this issue. Could you please have a look at this? - Thank you.

adimoraret commented 4 years ago

@himanshusinha-msft, until this problem gets fixed, can we update the documentation page to mention the fact that ADF does not support integration with the enhanced package of Salesforce Marketing Cloud ?

atilaca commented 4 years ago

Same error here. Any news guys?

willturcios1 commented 4 years ago

I have been working with MS on this case, they have been great and top of the case, but the results is not what we wanted to hear. It was determine the native connector is not working and they are working on a fix but couldn't provide and ETA but its being worked on. They did give me a workaround similar to the one mentioned by @himanshu-mishra , just a minor change on the Auth Type see below. Also you have to run a Self Hosted IR on a machine for the ODBC to work.

"Connection String" as Driver={Microsoft Salesforce Marketing Cloud ODBC Driver};host=https://mc1p95yx0wzllxdrfesdsdfafday;Auth_Client_ID=;Auth_Client_Secret=;UseHostVerification=0;UsePeerVerification=0;Auth_Type=_**Enhanced sts**_ OAuth 2.0;Auth_grant_type=client_credentials;

Although this work, this connection only gives you limited support and you are only able to see a few MC objects. No Data Extensions or Subs. Per MS, they do not intend to support SOAP calls to MC, only REST but limited. which is disappointing, that is the biggest need we have. Wish we would had known, we decided ADF over Informatica Cloud but after this, we regret not selecting Informatica Cloud since their MC connector worked like a champ. Hope this helps someone and hopefully the fix opens up more features for MC.

I ended up creating a work around for SOAP calls to MC, Make a HTTP call and pull XML files to Azure Data Lake Then process each file to SQL server

linda33wj commented 4 years ago

Thanks all for the feedback. We are going to release the upgraded SFMC connector by end of next week, which will support OAuth2 w/ client ID and client secret to work with SFMC enhanced packages. You no longer need the ODBC workaround mentioned in some of the posts then.

@willturcios1 thanks for reporting the issue and sorry to hear that the connector doesn't work for you. This connector is indeed based on the SFMC REST APIs. One related note - we are going to release XML format support shortly, which may be helpful for your SOAP API consumption.

willturcios1 commented 4 years ago

Thanks @linda33wj good to hear the news about SFMC connector. As long as we get full REST support for MC it will be a huge improvement. and knowing XML support is coming too it should give us full support for MC. I know SOAP and XML are a bit outdated but I don't see Salesforce Marketing Cloud moving away from it for a while. Thanks again!

adimoraret commented 4 years ago

Just tested the latest connector. It woks for me. Thanks for your help.

linda33wj commented 4 years ago

Update: The Salesforce Marketing Cloud connector has been upgraded to support SFMC enhanced packages.

@adimoraret great to hear it works for you.

please-close