2012-01-20 121 views
0

在以下鏈接中使用「網絡更新API」示例使用client.postNetworkUpdate(updateText),可以毫無問題地發佈網絡更新。使用LinkedIn J從LinkedIn獲取分享UpdateKey並使用Coldfusion獲取分享UpdateKey

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

所以張貼的偉大工程。不過發佈的更新不會返回它是用來檢索後統計數據本身,如註釋的「UpdateKey」,喜歡等沒有UpdateKey我不能檢索統計。所以我想要做的是post,然後使用getNetworkUpdates()函數檢索最後一篇文章,並且在那個檢索中將是稍後我需要用來檢索統計信息的UpdateKey。以下是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完成此?

感謝

回答

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> 
+1

不行不幸,我不能稱之爲「getUpdateKey()」。以下是錯誤:無法使用指定的方法名稱和參數類型,或者使用ColdFusion無法可靠解密的參數類型重載getUpdateKey方法。 ColdFusion找到了與提供的參數匹配的0個方法。當我將其更改爲getUpdates()時,它僅返回0.我還使用NetworkUpdateType.valueOf(「SHARED_ITEM」),因爲我想獲取我的共享項目。 – user1161447

+0

當你使用SHARED_ITEM時,它實際上是否返回任何東西,即'numOfUpdates'的值是什麼? – Leigh

+0

Re:*沒有指定方法名稱的方法*實際上我認爲getNetworkUpdates()正在返回另一個網絡對象。嘗試訪問底層列表。查看更新的示例。 – Leigh