首页 文章 精选 留言 我的

精选列表

搜索[机器数据],共10000篇文章
优秀的个人博客,低调大师

使用Java代码在SAP Marketing Cloud上创建Contact数据

源代码: 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=MY tokenurl=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 本文来自云栖社区合作伙伴“汪子熙”,了解相关信息可以关注微信公众号"汪子熙"。

优秀的个人博客,低调大师

InfluxDB 2.0.0 Beta 8 发布,开源时序数据库

InfluxDB 2.0.0 Beta 8现已发布,具体更新内容如下: Features 17490:influx config -,切换回先前的激活配置 17581:介绍新的导航菜单 17595:将-f(--file)选项添加到influx query和influx task命令 17498:添加了对命令行选项的支持,以限制查询的内存 Bug 修复 17612:在仪表板索引视图中修复卡的大小和布局问题 17651:修复了默认为黑色的检查图字体和线条,导致图不可读 17660:修复了向资源添加标签时文本换行显示问题和弹出窗口大小调整错误 17670:尊重已编译查询的当前时间(如果已提供) 17692:更新giraffe以固定刻度之间的间距 17694:修复了 Flux 功能列表中的错别字 17701:在 Safari 的脚本编辑器中允许鼠标光标 17609:修复了变量不能使用其他变量的问题 UI Improvements 7583:更新“Alerts”页面的布局以在所有屏幕尺寸上工作 17657:对“Getting Started”页面上的仪表板进行了最新修改 更新说明:https://github.com/influxdata/influxdb/releases

资源下载

更多资源
Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册