gpt4 book ai didi

c# - 为什么相同的访问 token 适用于 Media 但不适用于 Feed?

转载 作者:行者123 更新时间:2023-11-30 16:56:43 26 4
gpt4 key购买 nike

我正在使用 InstaSharp从我的帐户中获取所有媒体。这段代码没有任何错误:

 var user = new InstaSharp.Endpoints.Media.Authenticated(config, authInfo);
var media = user.Popular();

现在,如果我对 Users 做同样的事情:

var user = new InstaSharp.Endpoints.Users.Authenticated(config, authInfo);
var feed = user.Feed("self");

返回:

OAuthParameterException: The access_token provided is invalid.

为什么同一个access token 在一个地方有效,但在另一个地方却不起作用?


注意:我正在传递所有范围(basiccommentslikesrelationships ) 同时获取访问 token 。我也尝试使用默认 (basic),但它也没有用。

注意 2: 因为我是在 ConsoleApplication 中尝试这个,所以我获取访问 token 的方式是生成链接,复制/粘贴到浏览器,确认授权并从url中获取。我不确定这有什么不同,但值得注意...

最佳答案

我想出了问题。生成的链接似乎请求的是 code,而不是 access_token。所以这就是它无效的原因。

我意识到我使用的是旧版本的 InstaSharp,尽管我是从它的网站上下载的。首先,我安装了 latest version通过 NuGet。然后,我像这样获得访问 token 和媒体:

var config = new InstagramConfig(clientId, clientSecret);
var AuthLink = OAuth.AuthLink(config.OAuthUri + "/authorize",
config.ClientId,
config.RedirectUri,
scopes,
OAuth.ResponseType.Code);

var authInfo = new OAuth(config);

// get the code from the link then pass it to RequestToken
var response = await authInfo.RequestToken(code);
var user = new Users(config, response);
var media = await user.RecentSelf(count: 30);

一切都很好。

关于c# - 为什么相同的访问 token 适用于 Media 但不适用于 Feed?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27579644/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com