Как мне реплицировать социальные вызовы ajax, сделанные внутри SharePoint 2010? - PullRequest
2 голосов
/ 20 января 2012

Я вижу, что SharePoint 2010 делает вызовы javascript 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, я был бы вечно благодарен.

1 Ответ

1 голос
/ 31 января 2012

Из того, что я вижу , это - именно тот вызов веб-службы, который вы ищете. Tt является SOAP, а не JSON, но кроме этого он выполняет то, что вы запрашиваете, и возвращает теги текущего пользователя по указанному URL, а именно массив SocialTagDetail со всеми подробностями ...

Чтобы вызвать веб-сервис SOAP через javascript, смотрите:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...