2012-01-20 23 views
2

我看到SharePoint 2010中的JavaScript,使AJAX調用一些非常漂亮的內部服務,如如何複製由SharePoint 2010在內部進行的社交ajax調用?

https://<server>/_vti_bin/socialdatainternalservice.json 

https://<server>/_vti_bin/TaxonomyInternalService.json 

如何比像https://<server>/_vti_bin/SocialDataService.asmx具有文檔這些不同。這些內部呼叫有一些要求,我希望能夠複製。任何幫助,將不勝感激。

看着它按下「標籤&註釋」按鈕,就可以看到的SharePoint使一個單一的AJAX帖子https://<server>/_vti_bin/socialdatainternalservice.json/GetSocialTagInternal它發送一個非常簡潔data : '{"targetPage":"your url here","maximumItemsToReturn":"12"}'和接收實物非常漂亮的控制檯:

{ 
    "d":{ 
     "MyTags":[ 
     { 
      "Term":"I like it", 
      "TermFullPathName":"[Keywords:I like it]", 
      "TermID":"9f2d5361-a23f-4d95-be9b-f9d385a0f5b9", 
      "Path":"I like it", 
      "IsPrivate":false 
     } 
     ], 
     "OtherTags":[ 
     { 
      "Term":"I like it", 
      "TermFullPathName":"[Keywords:I like it]", 
      "TermID":"9f2d5361-a23f-4d95-be9b-f9d385a0f5b9", 
      "Path":"I like it", 
      "IsPrivate":false 
     }, 
... 

如果任何人都可以想辦法從現有SP Web服務中獲得那種回報,我會永遠感激。

+6

這很有可能是這些服務對你找不到文檔同樣的原因在他們的名字'internal':微軟不希望你使用它們。如果您使用它們,則不能保證Microsoft在未來的版本中不會破壞API(和您的程序)。 –

+0

這可能是微軟的內部文檔*,但由於它是*內部*,因此您無法訪問它。 :)如果你的建築物中有一個*私人辦公室,你會發布你隱藏密鑰的地方嗎?當然不是 - 它是*私人*。 *內部*表示「不可供公衆使用」。 –

+0

如果他們選擇了公開合理的選擇方案,那很好。相反,他們在內部使用json POST來做有用的事情(比如在URL上檢索用戶的標籤),並通過使用SOAP調用來獲取用戶使用給定標籤標記的每個url的列表來使用GARBAGE。 – Sinetheta

回答

1

從我所看到的this是您正在尋找的確切的Web服務調用。 Tt是SOAP,而不是JSON,但它不會執行你所要求的操作,並返回當前用戶在指定URL上的標籤,即具有所有細節的SocialTagDetail數組...

要通過通過SOAP調用SOAP Web服務JavaScript的看到這些:

+1

/facepalm謝謝Yahia,我可以發誓我已經看過所有的網絡服務。顯然,我在閱讀失敗,GetTags確實GetTagsOfUserOnUrl,只是一個較短的名字;) – Sinetheta

+0

@Sinetheta歡迎您:-) – Yahia

相關問題