I'm trying to create a new activity programmatically (using a POST to the /activities/service/atom2/activities
URL). This works fine if I'm authenticating with the desired user. Actually I do want to create activities on behalf of another user (e.g. connect with an "admin") and tried to fill the "author" and "contributor" elements of the feed entry XML body.
Depending on the information I send it will be either ignored or I do get a HTTP 400 with a com.ibm.openactivities.atom.exception.ParsingException: java.lang.NullpointerException
body.
I send something like this:
<?xml version="1.0" encoding="UTF-8"?>
<entry xmlns="http://www.w3.org/2005/Atom">
<title type="text">A test</title>
<author>
<name>Foo Bar</name>
<email>[email protected]</email>
<snx:userid xmlns:snx="http://www.ibm.com/xmlns/prod/sn">34E7B1AD-3BCC-4C0F-B0EA-C9657D265C39</snx:userid>
<snx:ldapid xmlns:snx="http://www.ibm.com/xmlns/prod/sn">34E7B1AD-3BCC-4C0F-B0EA-C9657D265C39</snx:ldapid>
</author>
<contributor>
<name>Foo Bar</name>
<email>[email protected]</email>
<snx:userid xmlns:snx="http://www.ibm.com/xmlns/prod/sn">34E7B1AD-3BCC-4C0F-B0EA-C9657D265C39</snx:userid>
<snx:ldapid xmlns:snx="http://www.ibm.com/xmlns/prod/sn">34E7B1AD-3BCC-4C0F-B0EA-C9657D265C39</snx:ldapid>
</contributor>
<category scheme="http://www.ibm.com/xmlns/prod/sn/type" term="activity" label="Activity" />
<content type="html">This is the <b>bold</b> test body</content>
</entry>
And this is the result:
<error xmlns="http://www.ibm.com/xmlns/prod/sn">
<code></code>
<message>Identifier: LC036D7B74CB004EF9882FA53FFDD1A195 com.ibm.openactivities.atom.exception.ParsingException: com.ibm.openactivities.atom.exception.ParsingException: java.lang.NullPointerException</message>
<displaymessage></displaymessage>
<errortype></errortype>
<trace>java.lang.Exception: Identifier: LC036D7B74CB004EF9882FA53FFDD1A195
com.ibm.openactivities.atom.exception.ParsingException: com.ibm.openactivities.atom.exception.ParsingException: java.lang.NullPointerException</trace>
</error>
The main question is can I create a new activity for another user? The second question is whether I can achieve it using the approach mentioned above, and the third question is what do I have to pass?
The IBM Connections API documentation states:
Also, the documentation states, that in an Activity content entry, the "Author" element is ignored on input.
So from what I gather, you can only create Activities and Activity Entries for the user you have credentials for. Maybe you can work with an Activity ToDo Entry you assign to someone or with an Activity inside a Community?