【问题标题】:Instasharper does not return Likers and Tags listInstashaper 不返回喜欢者和标签列表
【发布时间】:2019-08-08 08:24:34
【问题描述】:

我在 C# 中有这段代码,使用 InstaSharper 从 Instagram 返回媒体 ID 的信息。

public async Task<UserSessionData> SignIn(string userName, string password)
        {
            userSessionData = new UserSessionData();
            userSessionData.UserName = "username";
            userSessionData.Password = "password";
            api = InstaApiBuilder.CreateBuilder()
                .SetUser(userSessionData)
                .Build();
            var loginRequest = await api.LoginAsync();
            if (loginRequest.Succeeded && api.IsUserAuthenticated)
            {
                IResult<InstaUser> userSearch = await api.GetUserAsync(userName);
                IResult<InstaMediaList> media = await api.GetUserMediaAsync(userName, PaginationParameters.MaxPagesToLoad(1));
                IResult<InstaMedia> mediaInfo =  await api.GetMediaByIdAsync("1924613027431050955");
                return userSessionData;
            }
            else
            {
                return null;
            }
        }

GetMediaByIdAsync 方法正确返回有关所请求媒体的数据,但 Likers 和 Tags 集合为空。有什么方法可以包含这些数据?

【问题讨论】:

  • 我个人建议你使用这个github.com/ramtinak/InstagramApiSharp 我自己过去用过几次,它会定期更新
  • 试过了,还是一样的结果。正如 InstagramApiSharp 所说,它基于 InstaSharper

标签: c# instagram-api


【解决方案1】:

遇到同样的问题,我找到了解决方案。 尝试使用此代码:

var posts = await api.GetUserMediaAsync("username", PaginationParameters.MaxPagesToLoad(Int32.MaxValue)); // If you want to load all of the posts. If not, replace the "Int32.MaxValue" with the amount of posts you want to load
foreach (var post in posts.Value)
{
    var likers = await api.GetMediaLikersAsync(post.InstaIdentifier);
    foreach (var liker in likers.Value)
    {
        Console.WriteLine(liker.UserName);
    }
}

这对我来说很好,试试吧,我相信它也适合你。

【讨论】:

  • 此方法为我返回最多 998 个喜欢的用户名。喜欢的人也分页吗?!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-23
  • 2019-08-04
  • 1970-01-01
  • 2015-05-13
  • 1970-01-01
相关资源
最近更新 更多