16

質問 :私のアプリでは、FB や Twitter のように Instagram に画像を投稿する必要があります。

私がすでに行ったこと: Instagram から自分のアプリにログインして写真を取得します。しかし、Instagramに画像を投稿する方法はありません。

4

5 に答える 5

38

ただし、FB や twitter のように Instagram に画像を投稿することはできません。

ただし、これは、既にインストールされている Instagram を使用してこれを実現する別の方法であり、そうでない場合は、ユーザーに app をダウンロードするように通知します。

 public void onClick(View v) {

        Intent intent = getPackageManager().getLaunchIntentForPackage("com.instagram.android");
        if (intent != null)
        {
            Intent shareIntent = new Intent();
            shareIntent.setAction(Intent.ACTION_SEND);
            shareIntent.setPackage("com.instagram.android");
            try {
                shareIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse(MediaStore.Images.Media.insertImage(getContentResolver(), imagePath, "I am Happy", "Share happy !")));
            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            shareIntent.setType("image/jpeg");

            startActivity(shareIntent);
        }
        else
        {
            // bring user to the market to download the app.
            // or let them choose an app?
            intent = new Intent(Intent.ACTION_VIEW);
            intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            intent.setData(Uri.parse("market://details?id="+"com.instagram.android"));
            startActivity(intent);
        }

    }
于 2013-04-30T12:32:35.340 に答える
13

いいえ、できません。Instagram API ドキュメントから引用:

現時点では、API を介したアップロードはできません。次の理由により、これを追加しないことを意識的に選択しました。

  1. Instagram は外出先でのあなたの生活の一部です。アプリ内からの写真を奨励したいと考えています。ただし、将来的には、ケースバイケースで個々のアプリにホワイトリストへのアクセスを許可する可能性があります。
  2. 私たちは、スパムや低品質の写真と戦いたいと考えています。他のソースからのアップロードを許可すると、Instagram エコシステムに何が入ってくるかを制御するのが難しくなります。以上のことから、私たちは、ユーザーが私たちのプラットフォームで一貫した高品質のエクスペリエンスを確実に得られるようにする方法に取り組んでいます.

更新:ただし、iOS で作業している場合 (Android にタグを付けましたが)、カスタム URL スキームを介して写真を「送信」する方法があります (実際には、Instagram で画像が開きます)。これを参照してください。

于 2013-04-30T09:46:35.130 に答える
0

できるようになったようです。詳細については、こちらの公式ドキュメントを確認してください。

于 2018-10-08T21:00:09.390 に答える