0

使用以下链接中的“网络更新 API”示例,我可以使用 client.postNetworkUpdate(updateText) 毫无问题地发布网络更新。

http://code.google.com/p/linkedin-j/wiki/GettingStarted

所以发布效果很好。但是发布更新不会返回一个“UpdateKey”,它用于检索帖子本身的统计信息,例如评论、喜欢等。没有 UpdateKey,我无法检索统计信息。所以我想做的是发布,然后使用 getNetworkUpdates() 函数检索最后一个帖子,在该检索中,我需要稍后使用它来检索统计信息。这是一个关于如何获取网络更新的 Java 示例脚本,但我需要在 Coldfusion 而不是 Java 中执行此操作。

Network network = client.getNetworkUpdates(EnumSet.of(NetworkUpdateType.STATUS_UPDATE));
System.out.println("Total updates fetched:" + network.getUpdates().getTotal());
for (Update update : network.getUpdates().getUpdateList()) {
    System.out.println("-------------------------------");
    System.out.println(update.getUpdateKey() + ":" + update.getUpdateContent().getPerson().getFirstName() + " " + update.getUpdateContent().getPerson().getLastName() + "->" + update.getUpdateContent().getPerson().getCurrentStatus());
    if (update.getUpdateComments() != null) {
            System.out.println("Total comments fetched:" + update.getUpdateComments().getTotal());
            for (UpdateComment comment : update.getUpdateComments().getUpdateCommentList()) {
                    System.out.println(comment.getPerson().getFirstName() + " " + comment.getPerson().getLastName() + "->" + comment.getComment());                         
            }
    }
}

有人对如何使用 Coldfusion 完成此任务有任何想法吗?

谢谢

4

2 回答 2

0

我没有使用过那个 api,但我猜你可以使用前两行来获取更新的数量。然后使用重载client.getNetworkUpdates(start, end)方法检索最后一次更新并获取其密钥。

完全未经测试,但大致如下:

<cfscript>
    ... 
    // not sure about accessing the STATUS_UPDATE enum. One of these should work:
    // method 1 
     STATUS_UPDATE = createObject("java", "com.google.code.linkedinapi.client.enumeration.NetworkUpdateType$STATUS_UPDATE");
    // method 2
    NetworkUpdateType = createObject("java", "com.google.code.linkedinapi.client.enumeration.NetworkUpdateType");
    STATUS_UPDATE = NetworkUpdateType.valueOf("STATUS_UPDATE");

    enumSet = createObject("java", "java.util.EnumSet");
    network = yourClientObject.getNetworkUpdates(enumSet.of(STATUS_UPDATE));
    numOfUpdates = network.getUpdates().getTotal(); 
    // Add error handling in case numOfUpdates = 0
    result = yourClientObject.getNetworkUpdates(numOfUpdates, numOfUpdates); 
    lastUpdate = result.getUpdates().getUpdateList().get(0);
    key = lastUpdate.getUpdateKey();
</cfscript>   
于 2012-01-20T23:54:46.510 回答
0

您还可以使用 socialauth 库在linkedin 上检索更新和发布状态。
http://code.google.com/p/socialauth

于 2013-01-11T14:20:14.490 回答