使用Java代码在SAP Marketing Cloud上创建Contact数据
生活随笔
收集整理的這篇文章主要介紹了
使用Java代码在SAP Marketing Cloud上创建Contact数据
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
源代碼:
package partner1;import java.io.IOException; import java.io.UnsupportedEncodingException; import java.net.URI; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.StatusLine; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.HttpClientBuilder; import sun.misc.BASE64Encoder;public class SimpleContactCreator {private ConfigUtil mConfigUtil = new ConfigUtil();HttpClient m_httpClient;public SimpleContactCreator(){enableHeaderWireAndContextLogging();}private void enableHeaderWireAndContextLogging(){System.setProperty("org.apache.commons.logging.Log", "org.apache.commons.logging.impl.SimpleLog");System.setProperty("org.apache.commons.logging.simplelog.showdatetime", "true");System.setProperty("org.apache.commons.logging.simplelog.log.httpclient.wire.header", "debug");System.setProperty("org.apache.commons.logging.simplelog.log.org.apache.commons.httpclient", "debug");System.setProperty("org.apache.commons.logging.simplelog.defaultlog", "debug");}private String getBasicAuth(){final String text = mConfigUtil.getConfig("user") + ":" + mConfigUtil.getConfig("password"); BASE64Encoder encoder = new BASE64Encoder();String credentials = "basic " + encoder.encode(text.getBytes());return credentials;}private HttpClient getHttpClient() {if (this.m_httpClient == null) {this.m_httpClient = HttpClientBuilder.create().build();}return this.m_httpClient;}private String getCSRFToken(){String url = mConfigUtil.getConfig("tokenurl");System.out.println("fetch CSRF token via url: " + url);final HttpGet get = new HttpGet(url);get.setHeader("Authorization", getBasicAuth());get.setHeader("Cache-Control", "no-cache");get.setHeader("content-type", "application/json");get.setHeader("Accept", "application/json");get.setHeader("x-csrf-token", "fetch");HttpResponse response;String token = null;try {response = getHttpClient().execute(get);StatusLine statusLine = response.getStatusLine();int code = statusLine.getStatusCode();System.out.println("Status code: " + code);System.out.println("reason: " + statusLine.getReasonPhrase());token = response.getFirstHeader("x-csrf-token").getValue();System.out.println("token: " + token);} catch (ClientProtocolException e) {e.printStackTrace();} catch (IOException | UnsupportedOperationException e) {e.printStackTrace();}return token;}public void run(String body){String token = getCSRFToken();createContact(token, body);}private void createContact(String token, String body){final HttpPost post = new HttpPost(URI.create(mConfigUtil.getConfig("contactcreateurl")));post.setHeader("Authorization", getBasicAuth());post.setHeader("Content-Type", "application/json");post.setHeader("X-CSRF-Token", token);HttpEntity entity = null;try {entity = new StringEntity(body);} catch (UnsupportedEncodingException e) {e.printStackTrace();}post.setEntity(entity);HttpResponse response = null;try {response = getHttpClient().execute(post);} catch (ClientProtocolException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}System.out.println("Response statusCode for Batch => "+ response.getStatusLine().getStatusCode());}public static void main(String[] args) {SimpleContactCreator tool = new SimpleContactCreator();String body = "{\"IsConsumer\":true," + "\"Filter\":{\"MarketingArea\":\"CXXGLOBAL\"}," + "\"__metadata\":{\"type\":\"CUAN_CONTACT_SRV.InteractionContact\"}," + "\"FirstName\":\"SAP Diablo\",\"LastName\":\"SAP Wang\",\"Country\":\"CN\"," + "\"EMailAddress\":\"seya@sap.com\",\"YY1_WECHATID_MPS\":\"i042416\"," + "\"YY1_FACEID_MPS\":\"d042416\"}";tool.run(body);} }package partner1;import java.io.IOException; import java.io.InputStream; import java.util.Properties;public class ConfigUtil {Properties prop; public ConfigUtil(){InputStream input = null;prop = new Properties();String propFileName = "config.properties";input = getClass().getClassLoader().getResourceAsStream(propFileName);if (input != null) {try {prop.load(input);} catch (IOException e) {e.printStackTrace();}}}public String getConfig(String name){return prop.getProperty(name);}public static void main(String[] argv){ConfigUtil tool = new ConfigUtil();System.out.println("User: " + tool.getConfig("user"));} }config.properties文件放在resources文件夾下:
user=mkt password=MYtokenurl=https://jerry.hybris.com/sap/opu/odata/sap/CUAN_COMMON_SRV/?sap-client=100 # not batch contactcreateurl=https://jerry.hybris.com/sap/opu/odata/sap/CUAN_CONTACT_SRV/InteractionContacts?sap-client=100總結(jié)
以上是生活随笔為你收集整理的使用Java代码在SAP Marketing Cloud上创建Contact数据的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 天涯明月刀手游惊鱼成就怎么达成
- 下一篇: SAP Marketing Cloud里