6679


現在以下のコードのようにしてTwitterにテキストを投稿させたのですが、画像の添付の仕方がわかりません。投稿のためのダイアログを表示させたくないので、`Social.framework`は使いたくないです。

[code]

        NSURL *url = [NSURL URLWithString:@"https://api.twitter.com/1.1/statuses/update.json"];
        NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
        [request setHTTPMethod:@"POST"];
        [request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
    
        NSString *encode = [GTMOAuthAuthentication encodedOAuthParameterForString:@"テストTweet http://www.yahoo.jp"];
        NSString *body = [NSString stringWithFormat:@"status=%@", encode];
        [request setHTTPBody:[body dataUsingEncoding:NSUTF8StringEncoding]];
    
        [auth_ authorizeRequest:request];
    
        GTMHTTPFetcher *fetcher = [GTMHTTPFetcher fetcherWithRequest:request];
        [fetcher beginFetchWithDelegate:self didFinishSelector:@selector(postTwitterFetcher:finishedWithData:error:)];
    
[/code]

やり方を調べてみても、次のサイトのようなとても長いコードのやり方しか載っておらず、処理の把握ができません。  
<https://twittercommunity.com/t/how-to-post-image-to-twitter-by-using-http-
upload-twitter-com-1-statuses-update-with-media-for-below-ios-5-0/6290>  
どうすればTwitterに画像とテキストを一緒に投稿することができるでしょうか？  
どなたか分かる方がいればご教授いただきたいです。  
すみませんが、宜しくお願いします。


CC BY-SA 3.0
2015-02-18T03:25:42.327
6672
2015-02-18T05:47:08.263
5210
question
objective-c twitter
Twitterでテキストと画像を一緒に投稿する


TwitterAPIで、画像とテキストを同時に送信することは出来ません。

<https://dev.twitter.com/rest/reference/post/statuses/update>  
パラメータの説明に"media_ids"というのが存在しますので。IDを渡す必要があります。

このIDは、どこから入手するかというと。そのオプションの説明からリンクが貼られている  
<https://dev.twitter.com/rest/public/uploading-media>  
から取得します。

つまり  
1. 画像をアップロードする。 (POST media/upload)  
2. 画像のIDを付けて、ツイートする。(POST statuses/update)  
と2度の処理が必要になります。

参考にされているtwittercommunity.comの投稿では、  
POST statuses/update_with_media を利用して、一度に処理していますが。  
残念ながら現在はdeprecatedに指定されています。  
<https://dev.twitter.com/rest/reference/post/statuses/update_with_media>


CC BY-SA 3.0
2015-02-18T05:03:38.893
6679
2015-02-18T05:03:38.893
8335
6672
answer


social.frameworkを使うお考えはありませんか？？  
social.frameworkはアップルが標準で用意してくれているフレームワークの１つです。

Frameworkをインポートしてあげて、ソーシャル用のViewController(SLComposeViewController)を呼び出してあげれば、テキストに画像をつけることができます。

[code]

    　　SLComposeViewController *vc = [SLComposeViewController
                  composeViewControllerForServiceType:SLServiceTypeTwitter];
    
        [vc setInitialText:self.postFormat];
        [vc addImage:self.sharingImage];
        [self presentViewController:vc animated:YES completion:nil];
    
    
[/code]


CC BY-SA 3.0
2015-02-18T05:47:08.263
6682
2015-02-18T05:47:08.263
8339
6672
answer