【问题标题】:Twitter account created with tokens fails on iOS7使用令牌创建的 Twitter 帐户在 iOS7 上失败
【发布时间】:2013-11-08 11:07:51
【问题描述】:

我正在开发一个在 iOS6/7 上运行的应用程序,并在 Twitter 上发布自定义视图。为了改善用户体验,如果没有可用的系统帐户,我会向用户显示一个 web 视图以输入他们的凭据,按照 ACAccountCredential.h 中的建议将它们存储在 ACAccountStore 中并使用它来发布。

它在 iOS6 上运行良好,但 在 iOS7 上共享失败并出现 401 错误。奇怪的是,该帐户在 ACAccountStore 中没有错误地保存,并且可以被 Twitter 应用程序用于在 Twitter 上阅读和发布(无需进一步登录),所以我假设该帐户(令牌和令牌秘密)工作正常.

SLRequest *postRequest = nil;
NSURL *url = [NSURL URLWithString:@"http://api.twitter.com/1/statuses/update.json"];
NSDictionary *content = @{@"status":self.textToShare};
postRequest = [SLRequest requestForServiceType:SLServiceTypeTwitter
requestMethod:SLRequestMethodPOST
URL:url
parameters:content];

[postRequest setAccount:self.twitterAccount];
[postRequest performRequestWithHandler:completionHandler];

我也尝试使用 API v1.1,但似乎没有帮助。有什么想法吗?

【问题讨论】:

    标签: ios twitter ios7 acaccount


    【解决方案1】:

    通过将 URL 更改为使用 HTTPS 并使用 API v1.1,它适用于 iOS6 和 iOS7。

    【讨论】:

      【解决方案2】:

      这个问题会在 iOS6 和 iOS7 上出现,因为 /1/statuses/update.json 现在已被弃用。此外,从 API 的 v1.1 开始,您必须对所有请求使用 HTTPS。

      您的网址应更改为以下内容:

      NSURL *url = [NSURL URLWithString:
                    @"https://api.twitter.com/1.1/statuses/update.json"];
      

      更多信息请见Twitter API FAQ: What does the retirement of API v1 entail?

      【讨论】:

        猜你喜欢
        • 2017-06-23
        • 1970-01-01
        • 2022-12-03
        • 2013-10-22
        • 2019-04-25
        • 1970-01-01
        • 2011-08-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多