1. ホーム
  2. ios

[解決済み] iOSでInstagramに画像を共有するには?

2023-05-14 20:49:20

質問

私のクライアントは、Instagram、Twitter、Facebookで画像を共有したいと考えています。

私はTwitterとFacebookを行いましたが、Instagramで画像を共有するためのAPIやインターネット上の任意のものを見つけられませんでした。 それはInstagramの画像を共有することは可能ですか? はい場合は、どのように?

Instagramの開発者サイトを確認したところ、Ruby on RailsとPythonのライブラリが見つかりました。しかし、iOS Sdkのドキュメントはありません。

instagram.com/developerに従ってinstagramからトークンを取得しましたが、instagramの画像で共有するための次のステップを行うにはどうすればよいのかわかりません。

どのように解決するのですか?

やっと答えが出ました。インスタグラムに直接画像を投稿することはできません。UIDocumentInteractionControllerで画像をリダイレクトする必要があります。

@property (nonatomic, retain) UIDocumentInteractionController *dic;    

CGRect rect = CGRectMake(0 ,0 , 0, 0);
UIGraphicsBeginImageContextWithOptions(self.view.bounds.size, self.view.opaque, 0.0);
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIGraphicsEndImageContext();
NSString  *jpgPath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/test.igo"];

NSURL *igImageHookFile = [[NSURL alloc] initWithString:[[NSString alloc] initWithFormat:@"file://%@", jpgPath]];
self.dic.UTI = @"com.instagram.photo";
self.dic = [self setupControllerWithURL:igImageHookFile usingDelegate:self];
self.dic=[UIDocumentInteractionController interactionControllerWithURL:igImageHookFile];
[self.dic presentOpenInMenuFromRect: rect    inView: self.view animated: YES ];


- (UIDocumentInteractionController *) setupControllerWithURL: (NSURL*) fileURL usingDelegate: (id <UIDocumentInteractionControllerDelegate>) interactionDelegate {
     UIDocumentInteractionController *interactionController = [UIDocumentInteractionController interactionControllerWithURL: fileURL];
     interactionController.delegate = interactionDelegate;
     return interactionController;
}

NOTE : 一度instagramのアプリにリダイレクトすると、アプリに戻ることはできません。

ソースは以下からダウンロードできます。 ここから