コード例 #1
0
        private string BuildFollowUrl(FollowData request)
        {
            var baseUrl = $"(ActorType={(int)request.ActorType}";

            if (request is FollowSiteData siteRequest)
            {
                return($"{baseUrl},ContentUri=@v)?@v='{siteRequest.ContentUri}'");
            }

            if (request is FollowDocumentData documentRequest)
            {
                return($"{baseUrl},ContentUri=@v)?@v='{documentRequest.ContentUri}'");
            }

            if (request is FollowPersonData personRequest)
            {
                return($"{baseUrl},AccountName=@v)?@v='{personRequest.AccountName}'");
            }

            if (request is FollowTagData tagRequest)
            {
                return($"{baseUrl},TagGuid='{tagRequest.TagGuid}')");
            }

            throw new ClientException(PnPCoreResources.Exception_Unsupported_FollowRequest);
        }
コード例 #2
0
        public async Task <SocialFollowResult> FollowAsync(FollowData request)
        {
            var baseUrl = $"{Uri}/Follow{BuildFollowUrl(request)}";

            var result = int.Parse(await GetSingleResult(baseUrl).ConfigureAwait(false));

            return((SocialFollowResult)result);
        }
コード例 #3
0
 public SocialFollowResult Follow(FollowData request)
 {
     return(FollowAsync(request).GetAwaiter().GetResult());
 }
コード例 #4
0
        public async Task <bool> IsFollowedAsync(FollowData request)
        {
            var baseUrl = $"{Uri}/IsFollowed{BuildFollowUrl(request)}";

            return(bool.Parse(await GetSingleResult(baseUrl).ConfigureAwait(false)));
        }
コード例 #5
0
 public bool IsFollowed(FollowData request)
 {
     return(IsFollowedAsync(request).GetAwaiter().GetResult());
 }
コード例 #6
0
        public async Task StopFollowingAsync(FollowData request)
        {
            var baseUrl = $"{Uri}/StopFollowing{BuildFollowUrl(request)}";

            await GetSingleResult(baseUrl).ConfigureAwait(false);
        }
コード例 #7
0
 public void StopFollowing(FollowData request)
 {
     StopFollowingAsync(request).GetAwaiter().GetResult();
 }