एपीआई का उपयोग करके इंस्टाग्राम पर तस्वीरें कैसे पोस्ट करें


109

मैं एक php एप्लिकेशन बना रहा हूं, जिसे उपयोगकर्ता द्वारा अपलोड की गई तस्वीर को सीधे इंस्टाग्राम पर पोस्ट करने की आवश्यकता है, लेकिन एक त्वरित खोज के बाद मैंने पाया कि एपीआई में ऐसा कोई फ़ंक्शन नहीं है :( और यह अजीब लगता है ... क्योंकि उन्हें एक प्रदान करना चाहिए। " अगर php का उपयोग करके चित्र अपलोड करने के लिए कोई अन्य तरीका नहीं है (Android और iOS के लिए ऐप्स को छोड़कर), तो कृपया निश्चित रूप से मुझे किसी भी तरह का विचार दें।

मैंने भी इसे पढ़ा,

मैं PHP का उपयोग करके Instagram के साथ एक लिंक और फोटो कैसे साझा करूं


2
एपीआई के जरिए इंस्टाग्राम पर तस्वीरें पोस्ट करना संभव नहीं है।
अमल मुरली

3
मुझे आश्चर्य है कि वे कैसे - blog.hootsuite.com/schedule-instagram-posts-in-hootsuite - करते हैं ... (ब्लॉग की घोषणा 8 घंटे पहले पोस्ट की गई थी)
मंगल

1
@MichalStefanow मुझे लगा कि यह एक अच्छा सवाल है। उस ब्लॉग घोषणा में हूटसुइट (लेख के नीचे टिप्पणी अनुभाग में) से एक टिप्पणी भी है कि एपीआई सीमाओं के कारण इंस्टाग्राम पर कोई वास्तविक प्रत्यक्ष पोस्टिंग नहीं है और अंतिम पोस्टिंग इंस्टाग्राम में की जानी है।
thecommonthread

2019 के मध्य के बारे में क्या? क्या कोई बदलाव हैं?
userlond

जवाबों:


81

यदि आप अपने द्वारा साझा किए गए लिंक को पढ़ते हैं, तो स्वीकृत उत्तर है:

आप एपीआई के माध्यम से इंस्टाग्राम पर तस्वीरें पोस्ट नहीं कर सकते।

ऐसा लगता है कि आप पीसी पर इंस्टाग्राम का अनुकरण कर सकते हैं।

ब्लूस्टैक्स एक एमुलेटर है जो आपको अपने पीसी / मैक आदि पर एंड्रॉइड ऐप चलाने की सुविधा देता है।

मुझे यकीन नहीं है कि हालांकि यह कितना अच्छा काम करता है।


58
यदि ऐसा करने का कोई तरीका नहीं है, तो मुझे नहीं लगता कि कोई और तरीका है।
एल्बी

1
@ रितु के पोस्टिंग के समय @ इंस्टा पर इसने इंस्टाग्राम किया था और posts.soनहीं किया थाpostso.com
अल्बजी

2
@usama दुर्भाग्य से आधिकारिक तौर पर नहीं, लेकिन मैंने अफवाहें सुनी हैं कि यदि आप उनकी वेबसाइट पर जाते हैं और इसे मोबाइल दृश्य पर स्केल करते हैं तो आप कर सकते हैं। हालांकि यह खुद की कोशिश नहीं की
Albzi

1
@Albzi यदि आप Google Chrome का उपयोग करते हैं; इंस्टाग्राम वेबसाइट पर गया और राइट क्लिक करें और "इंस्पेक्ट" का उपयोग करें और यह हेडर को मोबाइल ब्राउज़र हस्ताक्षर में बदलने की अनुमति देगा। आपको "निरीक्षण" में एक बार इंस्टाग्राम पेज को रीफ्रेश करना पड़ सकता है, लेकिन यह आपको मोबाइल के रूप में वेबसाइट का उपयोग करने की अनुमति देगा और फोटो पोस्ट कर सकता है और क्या नहीं। तथापि; यह एपीआई प्रश्न के साथ मदद नहीं करता है। मैं अपनी टीमों को अंतिम स्कोर दिखाते हुए PHP से Instagram पर एक फोटो पोस्ट करने में सक्षम होना पसंद करूंगा।
डॉसन इरविन

1
निष्पक्ष बिंदु। @ बड़ौदा नोएल, शायद मुझे वह बदल देना चाहिए जो 'आधिकारिक' तरीके से न हो।
अल्बजी

102

अपडेट करें:

इंस्टाग्राम अब अकाउंट्स पर प्रतिबंध लगा रहा है और इस पद्धति के आधार पर छवियों को हटा रहा है। कृपया सावधानी के साथ उपयोग करें।


ऐसा लगता है कि हर कोई जिसने इस सवाल का जवाब दिया है, की तर्ज पर it can't be doneकुछ सही है। आधिकारिक तौर पर, आप इंस्टाग्राम पर उनके एपीआई के साथ एक तस्वीर पोस्ट नहीं कर सकते। हालाँकि, यदि आप API को उल्टा करते हैं, तो आप कर सकते हैं।

function SendRequest($url, $post, $post_data, $user_agent, $cookies) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, 'https://i.instagram.com/api/v1/'.$url);
    curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);

    if($post) {
        curl_setopt($ch, CURLOPT_POST, true);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
    }

    if($cookies) {
        curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookies.txt');            
    } else {
        curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookies.txt');
    }

    $response = curl_exec($ch);
    $http = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);

   return array($http, $response);
}

function GenerateGuid() {
     return sprintf('%04x%04x-%04x-%04x-%04x-%04x%04x%04x', 
            mt_rand(0, 65535), 
            mt_rand(0, 65535), 
            mt_rand(0, 65535), 
            mt_rand(16384, 20479), 
            mt_rand(32768, 49151), 
            mt_rand(0, 65535), 
            mt_rand(0, 65535), 
            mt_rand(0, 65535));
}

function GenerateUserAgent() {  
     $resolutions = array('720x1280', '320x480', '480x800', '1024x768', '1280x720', '768x1024', '480x320');
     $versions = array('GT-N7000', 'SM-N9000', 'GT-I9220', 'GT-I9100');
     $dpis = array('120', '160', '320', '240');

     $ver = $versions[array_rand($versions)];
     $dpi = $dpis[array_rand($dpis)];
     $res = $resolutions[array_rand($resolutions)];

     return 'Instagram 4.'.mt_rand(1,2).'.'.mt_rand(0,2).' Android ('.mt_rand(10,11).'/'.mt_rand(1,3).'.'.mt_rand(3,5).'.'.mt_rand(0,5).'; '.$dpi.'; '.$res.'; samsung; '.$ver.'; '.$ver.'; smdkc210; en_US)';
 }

function GenerateSignature($data) {
     return hash_hmac('sha256', $data, 'b4a23f5e39b5929e0666ac5de94c89d1618a2916');
}

function GetPostData($filename) {
    if(!$filename) {
        echo "The image doesn't exist ".$filename;
    } else {
        $post_data = array('device_timestamp' => time(), 
                        'photo' => '@'.$filename);
        return $post_data;
    }
}


// Set the username and password of the account that you wish to post a photo to
$username = 'ig_username';
$password = 'ig_password';

// Set the path to the file that you wish to post.
// This must be jpeg format and it must be a perfect square
$filename = 'pictures/test.jpg';

// Set the caption for the photo
$caption = "Test caption";

// Define the user agent
$agent = GenerateUserAgent();

// Define the GuID
$guid = GenerateGuid();

// Set the devide ID
$device_id = "android-".$guid;

/* LOG IN */
// You must be logged in to the account that you wish to post a photo too
// Set all of the parameters in the string, and then sign it with their API key using SHA-256
$data ='{"device_id":"'.$device_id.'","guid":"'.$guid.'","username":"'.$username.'","password":"'.$password.'","Content-Type":"application/x-www-form-urlencoded; charset=UTF-8"}';
$sig = GenerateSignature($data);
$data = 'signed_body='.$sig.'.'.urlencode($data).'&ig_sig_key_version=4';
$login = SendRequest('accounts/login/', true, $data, $agent, false);

if(strpos($login[1], "Sorry, an error occurred while processing this request.")) {
    echo "Request failed, there's a chance that this proxy/ip is blocked";
} else {            
    if(empty($login[1])) {
        echo "Empty response received from the server while trying to login";
    } else {            
        // Decode the array that is returned
        $obj = @json_decode($login[1], true);

        if(empty($obj)) {
            echo "Could not decode the response: ".$body;
        } else {
            // Post the picture
            $data = GetPostData($filename);
            $post = SendRequest('media/upload/', true, $data, $agent, true);    

            if(empty($post[1])) {
                 echo "Empty response received from the server while trying to post the image";
            } else {
                // Decode the response 
                $obj = @json_decode($post[1], true);

                if(empty($obj)) {
                    echo "Could not decode the response";
                } else {
                    $status = $obj['status'];

                    if($status == 'ok') {
                        // Remove and line breaks from the caption
                        $caption = preg_replace("/\r|\n/", "", $caption);

                        $media_id = $obj['media_id'];
                        $device_id = "android-".$guid;
                        $data = '{"device_id":"'.$device_id.'","guid":"'.$guid.'","media_id":"'.$media_id.'","caption":"'.trim($caption).'","device_timestamp":"'.time().'","source_type":"5","filter_type":"0","extra":"{}","Content-Type":"application/x-www-form-urlencoded; charset=UTF-8"}';   
                        $sig = GenerateSignature($data);
                        $new_data = 'signed_body='.$sig.'.'.urlencode($data).'&ig_sig_key_version=4';

                       // Now, configure the photo
                       $conf = SendRequest('media/configure/', true, $new_data, $agent, true);

                       if(empty($conf[1])) {
                           echo "Empty response received from the server while trying to configure the image";
                       } else {
                           if(strpos($conf[1], "login_required")) {
                                echo "You are not logged in. There's a chance that the account is banned";
                            } else {
                                $obj = @json_decode($conf[1], true);
                                $status = $obj['status'];

                                if($status != 'fail') {
                                    echo "Success";
                                } else {
                                    echo 'Fail';
                                }
                            }
                        }
                    } else {
                        echo "Status isn't okay";
                    }
                }
            }
        }
    }
}

बस अपने पाठ संपादक में ऊपर दिए गए कोड को कॉपी और पेस्ट करें, उसके अनुसार कुछ चर बदलें और VOILA! मैंने इस बारे में एक लेख लिखा था और मैंने इसे कई बार किया है। यहां एक डेमो देखें ।


1
फ़ोन का उपयोग किए बिना उपरोक्त कोड का उपयोग करने में असमर्थ। मैं सिर्फ पीसी का उपयोग करते हुए लोकलहोस्ट में इस्तेमाल किया गया था और मुझे सिर्फ त्रुटि संदेश मिला जैसे **** लॉगिन करने की कोशिश करते समय सर्वर से खाली प्रतिक्रिया मिली। उस त्रुटि को कैसे हल किया जाए
रबेश लाल श्रेष्ठा

1
क्या इस कोड से पहले से ही काम कर रहे एक .net संस्करण है? मैं PHP के साथ काम नहीं कर सकता और इस कोड का .NET संस्करण वास्तव में उपयोगी होगा!
योसोइके

1
मैं नए इंस्टाग्राम अकाउंट पर स्क्रिप्ट को सफलतापूर्वक चलाने में सक्षम था।
लोरेटोपरिसी

2
यदि आप प्राप्त कर रहे हैं status isnt okay, तो सुनिश्चित करें कि CURL के पास कुकीज़.txt फ़ाइल बनाने की अनुमति है। chmod 777 /directoryऐसा करेंगे (सावधान रहें)। मुझे आपकी स्क्रिप्ट से सफलता का संदेश मिल रहा है, लेकिन पोस्ट इंस्टाग्राम पर दिखाई नहीं दे रहा है। क्या यह अभी भी काम करता है?
kmoney12

8
कोड ठीक काम करता है लेकिन गाइड और डिवाइसिड हर बार बदलता है और एक सफल पोस्ट के बाद मेरे अकाउंट को BANNED कर देता है। फोटो को भी हटा दिया गया है।
अल्प अल्टुनेल

27

अद्यतन यह अब संभव है:

https://developers.facebook.com/docs/instagram-api/content-publishing

कंटेंट पब्लिशिंग एपीआई इंस्टाग्राम ग्राफ एपीआई एंडपॉइंट्स का एक सबसेट है जो आपको मीडिया ऑब्जेक्ट्स प्रकाशित करने की अनुमति देता है। इस एपीआई के साथ मीडिया ऑब्जेक्ट प्रकाशित करना एक दो चरण की प्रक्रिया है - आप पहले एक मीडिया ऑब्जेक्ट कंटेनर बनाते हैं, फिर अपने बिजनेस अकाउंट पर कंटेनर प्रकाशित करते हैं।


22
यह ध्यान देने योग्य है कि "द कंटेंट पब्लिशिंग एपीआई केवल फेसबुक मार्केटिंग पार्टनर्स और इंस्टाग्राम पार्टनर्स के साथ बंद बीटा में है। हम इस समय नए आवेदकों को स्वीकार नहीं कर रहे हैं।"
विलियम रीड

क्या यह केवल व्यावसायिक खातों के लिए लागू है?
सनकेचर

यह कैसा उत्तर है? यह संभव नहीं है, यह API केवल भागीदारों के लिए है ...
Matej J

1
यह कहता है पृष्ठ नहीं मिला!
मोहम्मद इमरान

12

इंस्टाग्राम अब नए कंटेंट पब्लिशिंग बीटा एंडपॉइंट्स का उपयोग करके व्यवसायों को अपने पोस्ट शेड्यूल करने की अनुमति देता है।

https://developers.facebook.com/blog/post/2018/01/30/instagram-graph-api-updates/

हालाँकि, यह ब्लॉग पोस्ट - https://business.instagram.com/blog/instagram-api-features-updates - यह स्पष्ट करता है कि वे केवल उस एपीआई को अपने फेसबुक मार्केटिंग पार्टनर्स या इंस्टाग्राम पार्टनर्स के लिए खोल रहे हैं।

शेड्यूलिंग पोस्ट के साथ आरंभ करने के लिए, कृपया हमारे किसी फेसबुक मार्केटिंग पार्टनर या इंस्टाग्राम पार्टनर के साथ काम करें।

फेसबुक का यह लिंक - https://developers.facebook.com/docs/instagram-api/content-publishing - इसे एक बंद बीटा के रूप में सूचीबद्ध करता है।

कंटेंट पब्लिशिंग एपीआई केवल फेसबुक मार्केटिंग पार्टनर्स और इंस्टाग्राम पार्टनर्स के साथ बंद बीटा में है। हम इस समय नए आवेदकों को स्वीकार नहीं कर रहे हैं।

लेकिन यह है कि आप इसे कैसे करेंगे:

आपके पास एक फोटो है ...

https://www.example.com/images/bronz-fonz.jpg

आप इसे हैशटैग "#BronzFonz" के साथ प्रकाशित करना चाहते हैं।

आप /user/mediaइस तरह से कंटेनर बनाने के लिए किनारे का उपयोग कर सकते हैं :

POST graph.facebook.com 
  /17841400008460056/media?
    image_url=https%3A%2F%2Fwww.example.com%2Fimages%2Fbronz-fonz.jpg&
    caption=%23BronzFonz

यह एक कंटेनर आईडी लौटाएगा (मान लें कि 17889455560051444), जिसे आप तब / user / media_publish किनारे का उपयोग करके प्रकाशित करेंगे, जैसे:

POST graph.facebook.com
  /17841405822304914/media_publish
    ?creation_id=17889455560051444

डॉक्स से यह उदाहरण ।


धन्यवाद, लेकिन मैं इसके लिए ऐप कैसे बना सकता हूं जैसे हम facebook डेवलपर क्षेत्र में फेसबुक के लिए ऐप बना सकते हैं।
usama

यह कोड एक त्रुटि देता है - "एप्लिकेशन में इस API कॉल करने की क्षमता नहीं है?" यह इन तकनीकी कंपनियों से बिल्कुल गैर-समझदारी है। वे कुछ पसंदीदा भागीदारों के माध्यम से उपयोग करने के लिए कैसे पूछ सकते हैं और हमारे खुद के ऐप नहीं बना सकते हैं।
अमित खरे 16

8

मैंने IFTTT और कई अन्य सेवाओं का उपयोग करने की कोशिश की, लेकिन सभी इंस्टाग्राम से किसी अन्य प्लेटफॉर्म पर इंस्टाग्राम नहीं करने के लिए चीजें या पोस्ट कर रहे थे। मुझे लगता है कि इंस्टाग्राम अब तक ऐसी कोई एपीआई प्रदान नहीं करता है जो मैंने पाया है।

नीली स्टैक का उपयोग करना फिर से भारी स्थापना को शामिल करना और चीजों को मैन्युअल रूप से करना है।

हालाँकि, आप इंस्टाग्राम पर पोस्ट बनाने के लिए अपने Google Chrome का उपयोग डेस्कटॉप संस्करण पर कर सकते हैं। इसे थोड़ा ट्वीक करने की जरूरत है।

  1. अपना क्रोम खोलें और Instagram.com ब्राउज़ करें
  2. क्रोम पर राइट क्लिक करके निरीक्षण तत्व पर जाएं।
  3. डेवलपर टूल पर टॉप राईट कोरनर मेनू ड्रॉप डाउन से, अधिक टूल चुनें।
  4. आगे नेटवर्क की स्थिति का चयन करें।
  5. नेटवर्क चयन अनुभाग में, उपयोगकर्ता एजेंट नाम का दूसरा खंड देखें।
  6. अनचेक करें स्वचालित रूप से चयन करें , और दिए गए उपयोगकर्ता एजेंट की सूची से एंड्रॉइड के लिए क्रोम का चयन करें ।
  7. अपने Instagram.com पेज को ताज़ा करें।

आपको UI में बदलाव और इंस्टाग्राम पर एक पोस्ट करने का विकल्प दिखाई देगा। आपका जीवन अब आसान है। अगर आपको कोई भी मिल जाए तो मुझे एक आसान तरीका बताएं।

यहां छवि विवरण दर्ज करें

मैंने इसके बारे में https://www.inteligentcomp.com/2018/11/how-to-upload-to-instagram-from-pc-mac.html पर लिखा है।

कार्य स्क्रीनशॉट

यहां छवि विवरण दर्ज करें


लेकिन आप कुछ भी पोस्ट नहीं कर सकते।
ऐरवी

1
मैं सिर्फ एक ही विधि का उपयोग कर पोस्ट किया है। यह बिल्कुल ठीक काम कर रहा है। अपडेट में स्क्रीनशॉट देखें।
धीरज थेडिजे

5

इस प्रश्न को खोजने वाले उपयोगकर्ताओं के लिए, आप iPhone हुक का उपयोग करके iPhone पर इंस्टाग्राम साझाकरण प्रवाह (अपने ऐप से फ़िल्टर स्क्रीन पर) को फ़ोटो पास कर सकते हैं: http://help.instagram.com/355896521173347 इसके अलावा, वर्तमान में कोई नहीं है एपीआई के संस्करण 1 में रास्ता।


1
@ रितु दिलचस्प यह तब संभव होना चाहिए, लेकिन ऐसा नहीं लगता कि एपीआई इसकी अनुमति देता है। साझा करने के लिए धन्यवाद, मैं इस पर गौर करना चाहता हूं।
अमरू ई।

1
मैं भी सोच रहा था कि वे यह कैसे कर रहे हैं, कृपया साझा करें यदि आपको कुछ प्रासंगिक मिलेगा।
रितु

2
ऐसा लगता है कि अधिकांश अनधिकृत ग्राहक ऐप से सर्वर तक SSL ट्रैफ़िक को डिक्रिप्ट और मॉनिटर करके API को रिवर्स इंजीनियरिंग कर रहे हैं। यह स्नैपचैट के लिए कम से कम मामला है। यहाँ भी ऐसा ही हो सकता है।
अमरू ई।

मैक के लिए फ़्लू ऐप आपके फीड पर भी पोस्ट करता है
यहोशू - पेन्डो

0

एपीआई का उपयोग करके इंस्टाग्राम पर फोटो पोस्ट करने के लिए कोई एपीआई नहीं है, लेकिन एक सरल तरीका है कि Google एक्सटेंशन "उपयोगकर्ता एजेंट" स्थापित करें यह आपके ब्राउज़र को एंड्रॉइड मोबाइल क्रोम संस्करण में गुप्त करेगा। यहां विस्तार लिंक https://chrome.google.com/webstore/detail/user-agent-switcher/clddifkhlkcojbojppdojfdoikfeeddddiae?utm_source-chrome-ntp-icon है

बस एक्सटेंशन आइकन पर क्लिक करें और Android के लिए क्रोम चुनें और Instagram.com खोलें


0

यदि इसमें UI है, तो इसमें "API" है। आइए निम्नलिखित उदाहरण का उपयोग करें: मैं अपने द्वारा बनाए गए किसी भी नए ब्लॉग पोस्ट में मेरे द्वारा उपयोग की जाने वाली तस्वीर को प्रकाशित करना चाहता हूं। मान लेते हैं कि Wordpress है।

  1. ऐसी सेवा बनाएँ जो RSS के माध्यम से आपके ब्लॉग की लगातार निगरानी कर रही हो।
  2. जब एक नया ब्लॉग पोस्ट किया जाता है, तो चित्र डाउनलोड करें।
  3. (वैकल्पिक) अपने ओवरले में कुछ ओवरले और व्हाट्सएप लागू करने के लिए एक तीसरे पक्ष के एपीआई का उपयोग करें।
  4. अपने पीसी या सर्वर पर एक प्रसिद्ध स्थान पर फोटो रखें।
  5. Chrome को कॉन्फ़िगर करें (ऊपर पढ़ें) ताकि आप ब्राउज़र को मोबाइल के रूप में उपयोग कर सकें।
  6. सेलेनियम (या उन पुस्तकालयों में से किसी अन्य) का उपयोग करके, इंस्टाग्राम पर पोस्ट करने की पूरी प्रक्रिया का अनुकरण करें।
  7. किया हुआ। आपके पास होना चाहिए।

0

जो कोई भी व्यक्ति एडब्ल्यूएस लंब्डा और कठपुतली ( क्रोम-अब्स-लंबर ) का उपयोग करके इंस्टाग्राम पर पोस्ट करने के बारे में समाधान खोज रहा है । ध्यान दिया कि यह समाधान आपको प्रत्येक पोस्ट के लिए केवल 1 फोटो पोस्ट करने की अनुमति देता है । यदि आप लैम्ब्डा का उपयोग नहीं कर रहे हैं, तो बस के chrome-aws-lambdaसाथ बदलेंpuppeteer

लैम्ब्डा के पहले लॉन्च के लिए, यह सामान्य है जो काम नहीं करेगा क्योंकि इंस्टाग्राम "संदिग्ध लॉगिन प्रयास" का पता लगाता है । बस अपने पीसी का उपयोग करके गोटो इंस्टाग्राम पेज और इसे अनुमोदित करें , सब कुछ ठीक होना चाहिए।

यहां मेरा कोड है, इसे अनुकूलित करने के लिए स्वतंत्र महसूस करें:

// instagram.js
const chromium = require('chrome-aws-lambda');

const username = process.env.IG_USERNAME;
const password = process.env.IG_PASSWORD;

module.exports.post = async function(fileToUpload, caption){
    const browser = await chromium.puppeteer.launch({
        args: [...chromium.args, '--window-size=520,700'],
        defaultViewport: chromium.defaultViewport,
        executablePath: await chromium.executablePath,
        headless: false,
        ignoreHTTPSErrors: true,
    });
    const page = await browser.newPage();
    await page.setUserAgent('Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_2 like Mac OS X) AppleWebKit/603.2.4 (KHTML, like Gecko) FxiOS/7.5b3349 Mobile/14F89 Safari/603.2.4');
    await page.goto('https://www.instagram.com/', {waitUntil: 'networkidle2'});
    
    const [buttonLogIn] = await page.$x("//button[contains(., 'Log In')]");
    if (buttonLogIn) {
        await buttonLogIn.click();
    }

    await page.waitFor('input[name="username"]');
    await page.type('input[name="username"]', username)
    await page.type('input[name="password"]', password)
    await page.click('form button[type="submit"]');

    await page.waitFor(3000);
    const [buttonSaveInfo] = await page.$x("//button[contains(., 'Not Now')]");
    if (buttonSaveInfo) {
        await buttonSaveInfo.click();
    }

    await page.waitFor(3000);
    const [buttonNotificationNotNow] = await page.$x("//button[contains(., 'Not Now')]");
    const [buttonNotificationCancel] = await page.$x("//button[contains(., 'Cancel')]");
    if (buttonNotificationNotNow) {
        await buttonNotificationNotNow.click();
    } else if (buttonNotificationCancel) {
        await buttonNotificationCancel.click(); 
    }

    await page.waitFor('form[enctype="multipart/form-data"]');
    const inputUploadHandle = await page.$('form[enctype="multipart/form-data"] input[type=file]');

    await page.waitFor(5000);
    const [buttonPopUpNotNow] = await page.$x("//button[contains(., 'Not Now')]");
    const [buttonPopUpCancel] = await page.$x("//button[contains(., 'Cancel')]");
    if (buttonPopUpNotNow) {
        await buttonPopUpNotNow.click();
    } else if (buttonPopUpCancel) {
        await buttonPopUpCancel.click(); 
    }

    await page.click('[data-testid="new-post-button"]')
    await inputUploadHandle.uploadFile(fileToUpload);

    await page.waitFor(3000);
    const [buttonNext] = await page.$x("//button[contains(., 'Next')]");
    await buttonNext.click();

    await page.waitFor(3000);
    await page.type('textarea', caption);

    const [buttonShare] = await page.$x("//button[contains(., 'Share')]");
    await buttonShare.click();
    await page.waitFor(3000);

    return true;
};
// handler.js

await instagram.post('/tmp/image.png', '#text');

यह स्थानीय फ़ाइल पथ होना चाहिए, यदि यह url है, तो इसे पहले / tmp फ़ोल्डर में डाउनलोड करें

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.