- 전체
- JAVA 일반
- JAVA 수학
- JAVA 그래픽
- JAVA 자료구조
- JAVA 인공지능
- JAVA 인터넷
- Java Framework
- Java GUI (AWT,SWING,SWT,JFACE)
- SWT and RCP (web RAP/RWT)[eclipse], EMF
JAVA 인터넷 Create New Posts in Wordpress using Java and XMLRpc
2016.11.14 19:41
Create New Posts in Wordpress using Java and XMLRpc
import org.apache.xmlrpc.XmlRpcException;
import org.apache.xmlrpc.client.XmlRpcClient;
import org.apache.xmlrpc.client.XmlRpcClientConfigImpl;
@SuppressWarnings({ "unchecked", "rawtypes" })
@Override
/**
* Create New Posts in Wordpress using Java
*
* //http://codex.wordpress.org/XML-RPC_WordPress_API/Posts#wp.newPost
* //http://codex.wordpress.org/Function_Reference/wp_insert_post
*/
public void publishToWordpress(Item item) throws Exception {
try {
XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl();
config.setBasicPassword("your_password");
config.setBasicUserName("your_user");
config.setEnabledForExtensions(true);
config.setEnabledForExceptions(true);
XmlRpcClient client = new XmlRpcClient();
client.setConfig(config);
Hashtable post = new Hashtable();
post.put("post_title", item.getTitle());
post.put("post_content", item.getDescription());
post.put("post_status", "publish");
post.put("post_date", item.getPubDate());
post.put("comment_status", "open");
post.put("ping_status", "open");
Hashtable taxonomies = new Hashtable();
List<String> categories = new ArrayList<String>();
Set<ItemTheme> themes = item.getItemThemes();
for (Iterator iterator = themes.iterator(); iterator.hasNext();) {
ItemTheme itemTheme = (ItemTheme) iterator.next();
Theme theme = itemTheme.getTheme();
categories.add(theme.getTitle());
}
//custom taxonomies...
List<String> tags = new ArrayList<String>();
List<String> persons = new ArrayList<String>();
List<String> places = new ArrayList<String>();
List<String> events = new ArrayList<String>();
List<String> organizations = new ArrayList<String>();
List<String> source = new ArrayList<String>();
//..add keywords to your taxonomies...
for (Iterator iterator = themes.iterator(); iterator.hasNext();) {
String theme = (String) iterator.next();
categories.add(theme);
}
taxonomies.put("category", categories);
taxonomies.put("post_tag", tags);
taxonomies.put("person", persons);
taxonomies.put("place", places);
taxonomies.put("event", events);
taxonomies.put("organization", organizations);
//custom fields....
List<Hashtable> customFieldsList = new ArrayList<Hashtable>();
Hashtable customFields = new Hashtable();
customFields.put("key", "url");
customFields.put("value", myLink);
customFieldsList.add(customFields);
customFields = new Hashtable();
customFields.put("key", "twitter_image");
customFields.put("value", linkImage);
customFieldsList.add(customFields);
post.put("custom_fields", customFieldsList);
post.put("terms_names", taxonomies);
Vector params = new Vector();
params.addElement(new Integer(0));
params.addElement(Constants.WORDPRESS_USER);
params.addElement(Constants.WORDPRESS_PWD);
//create a new post...
if(isNew){
params.addElement(post);
log.debug("inserting post...");
//log.debug("params:" + params);
String postId = (String) client.execute("wp.newPost", params);
}else{
//EDIT an existing post
params.addElement("postId");
params.addElement(post);
client.execute("wp.editPost", params);
}
}catch (XmlRpcException e){
log.error(e.getMessage(), e);
}
}
|
[출처] https://gist.github.com/dersteppenwolf/4136298
본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.

