2

Twitter に投稿するカスタム ビューを使用して、iOS6/7 で実行されるアプリに取り組んでいます。ユーザー エクスペリエンスを向上させるために、使用可能なシステム アカウントがない場合は、ユーザーに資格情報を入力するための 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 でも試しましたが、役に立たないようです。何か案は?

4

2 に答える 2

1

URL を HTTPS を使用するように変更し、API v1.1 を使用することで、iOS6 および iOS7 で動作します。

于 2013-10-29T11:36:00.427 に答える
0

この問題は iOS7 だけでなく iOS6 でも発生します/1/statuses/update.json。また、API の v1.1 以降では、すべての要求に HTTPS を使用する必要があります。

URL は次のように変更する必要があります。

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

詳細については、Twitter API FAQ: API v1 の廃止には何が必要ですか?を参照してください。

于 2013-10-29T17:56:07.573 に答える