Instagram Basic Display API के लिए access_token प्राप्त करना असंभव है


9

मैं एक नए ऐप के लिए अपने मूल प्रदर्शन API का उपयोग करने के लिए Instagram से एक access_token प्राप्त करने की कोशिश कर रहा हूं (बस एक वेबपेज पर ट्वीट प्रदर्शित करता हूं)।

मैंने इन चरणों का पालन किया: https://developers.facebook.com/docs/instagram-basic-display-api/getting-started

लेकिन मैं चरण 5 में फंस गया हूं: एक टोकन के लिए कोड का आदान-प्रदान

CURL अनुरोध हमेशा संदेश के साथ एक 400 त्रुटि देता है: "मिलान कोड नहीं मिला या पहले से ही उपयोग किया गया था"

हालांकि, कई परीक्षणों के बाद, मुझे केवल एक बार एक्सेस_टेन मिला, लेकिन यह लगभग एक घंटे बाद समाप्त हो गया। यह बहुत यादृच्छिक प्रतीत होता है।

इंस्टाग्राम बेसिक डिस्प्ले एपीआई बल्कि नया लगता है। कुछ समय पहले, मैंने https://www.instagram.com/developer/ वेबसाइट पर बनाए गए ऐप का उपयोग किया है और यह काम करता था। अब यह साइट इस संदेश को प्रदर्शित करती है:

अद्यतन: 15 अक्टूबर, 2019 से, इंस्टाग्राम एपीआई प्लेटफॉर्म पर नए क्लाइंट पंजीकरण और अनुमति की समीक्षा इंस्टाग्राम एपीआई डिस्प्ले एपीआई के पक्ष में बंद कर दी गई है।

... Developers.facebook.com के लिंक के साथ।


आप एक्सेस टोकन प्राप्त करने में कहां सक्षम हैं? मैं उसी 400 त्रुटि का भी उपयोग करता रहता हूंcurl
जियानफ्रेंको पी।

@GianfrancoP। क्या आपने अपना फेसबुक ऐप प्रकाशित करने की कोशिश की है? (ऐप्स के लिए फेसबुक डेवलपर्स कंसोल में)
मैक्सिमम फ्रेशर्ड

मैं आखिरकार टोकन प्राप्त करने में कामयाब रहा। मेरा ऐप पहले भी लाइव हो चुका है, लेकिन अब मैं इंस्टाग्राम लॉगिन जोड़ रहा हूं इसलिए मैं आज कुछ घंटों के लिए अनुमोदन का इंतजार कर रहा हूं। मैं इसे काम में लाने में कामयाब रहा, मुझे यकीन नहीं था कि मैं क्या गलत कर रहा था, tbh
Gianfranco P।

यहाँ कुछ कोड के साथ मेरे उत्तर की जाँच करें stackoverflow.com/a/59305113/1474270 यह मदद कर सकता है
patJnr

जवाबों:


3

मैं आपके द्वारा दिए गए कोड में अंत में #_ को पीछे हटाकर # सफल रहा। यकीन नहीं होता कि क्या यह आपका मुद्दा था?

https://developers.facebook.com/support/bugs/436837360282557/


हाय @ इमानुएल, मैंने यह भी देखा कि इन अनुगामी पात्रों को हटाते समय यह काम करता था। लेकिन ज्यादातर समय यह काम नहीं करता है।
मैक्सिमे फ्रेशर्ड

3

मुझे यह समस्या तब हुई जब मैं एक आवेदन को लागू करने की कोशिश कर रहा था।
जब आप अनुमति देते हैं तो मेरी समस्या उत्पन्न कोड थी। #_
निकालने का प्रयास करेंजनरेट किए गए कोड के अंत से और फिर से टोकन जेनरेट करने का प्रयास करें

तैयार किए गए कोड उदाहरण: AQBvrqqBJJTM49U1qTQWRMD96oRyMR3B_04JSfjc-nUIi0iGbSc3x_EceggQi9IyG3B3Rj3ocreMThQoPJbPpeXLUM4exJMy4o01fXcRtT_I9NovaNAqmWSneFt3MYv_k7ifAUUeMlC050n5xnjQP6oAvDBfCFQvTdrFaR95-5i71YsfQlmjYWDG6fcWRvOB9nqr6J9mbGMXMi9Y4tKlSfElaYm0YKRijZQDG2B5PaxQ8A #_

उत्पन्न कोड संपादित: AQBvrqqBJJTM49U1qTQWRMD96oRyMR3B_04JSfjc-nUIi0iGbSc3x_EceggQi9IyG3B3Rj3ocreMThQoPJbPpeXLUM4exJMy4o01fXcRtT_I9NovaNAqmWSneFt3MYv_k7ifAUUeMlC050n5xnjQP6oAvDBfCFQvTdrFaR95-5i71YsfQlmjYWDG6fcWRvOB9nqr6J9mbGMXMi9Y4tKlSfElaYm0YKRijZQDG2B5PaxQ8A


1

मैंने मूल डॉक्स ( https://developers.facebook.com/docs/instagram-basic-display-api/getting-started ) के अनुसार कमांड-लाइन टूल का उपयोग करने की कोशिश की , लेकिन भाग्य नहीं ...

यहाँ 3 आसान चरणों में क्या करना है:

  1. पहली बात: पोस्टमैन स्थापित करें https://www.postman.com/downloads/
  2. https://api.instagram.com/oauth/access_tokenशरीर में मापदंडों के साथ एक POST अनुरोध करें , कि पैरामेट्स। सुनिश्चित करें कि x-www-form-urlencodedविकल्प सक्षम है।
  3. अब आप की स्थिति मिलना चाहिए 200 OKऔर दोनों के साथ एक प्रतिक्रिया access_tokenऔर user_id
{
    "access_token": "IGQVJYUXlDN...",
    "user_id": 17841400...
}

खुशी के दिन!!

सही सेटिंग्स के लिए स्क्रीनशॉट देखें:

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


0

मुझे भी यही समस्या हो रही थी, मैंने कैश, कॉकी और अन्य ब्राउज़र डेटा को क्लियर करने का हल किया।

फिर मैंने एक नया अनुरोध किया।

कोशिश करो, यह मेरे साथ काम किया।


0

मुझे इसका हल मिल गया।

शुरुआत में आप जितना इस्तेमाल करते हैं, उतने ही सीधे उरई में होना चाहिए।

पूर्व। तुम इस्तेमाल

www.abc.com/auth 

कोड प्राप्त करने के लिए। जब आप टोकन का आदान-प्रदान करते हैं तो redirect_uri जैसा होना चाहिए

www.abc.com/auth

0

मैं पुराने Instagram API का भी उपयोग कर रहा था। मुझे नए एपीआई पर अपने कोड का काम करने के लिए कुछ चीजों को बदलना पड़ा। सुनिश्चित नहीं हैं कि आप क्या उपयोग कर रहे हैं, यह है कि मैंने इसे PHP के साथ कैसे किया।

$url = 'https://api.instagram.com/oauth/access_token';

$fields = array(
    'app_id' => 'YOUR_APP_ID',
    'app_secret' => 'YOUR_APP_SECRET_ID',
    'grant_type' => 'authorization_code',
    'redirect_uri' => 'YOUR_REDIRECT_URL',
    'code' => $code
);

$ch = curl_init();

curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_POST, true);
curl_setopt($ch,CURLOPT_POSTFIELDS, $fields);
curl_setopt($ch,CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch,CURLOPT_VERIFYPEER, false);

$result = curl_exec($ch);
curl_close($ch);

//get the access token from the string sent from Instagram
$splitString = explode('"access_token":', $result);
$removeRest = explode(',', $splitString[1]);
$withSpace = str_replace('"','', $removeRest[0]);
$access_token = str_replace(' ','', $withSpace);

हाय @ कोई नहीं, मैं भी Guzzle (cURL पुस्तकालय) के साथ PHP का उपयोग कर रहा हूँ। मेरा कोड आपके समान है। यह एक बार कल काम किया था, लेकिन ज्यादातर समय यह काम नहीं करता है ...
मैक्सिम फ्रेशर्ड

हाय @ कोई नहीं, आप curL के साथ एक कोड प्राप्त करने के लिए api.instagram.com/oauth/authorize एंडपॉइंट को कैसे कॉल करेंगे ? जब मैं ऐसा करता हूं तो मैं इंस्टाग्राम लॉगिन पेज पर पुनः निर्देशित हो जाता हूं।
मैक्सिमे फ्रेशर्ड

अधिकतम समय, आपको cURL का उपयोग करने की आवश्यकता नहीं है। आपकी साइट पर रीडायरेक्ट होने के बाद इंस्टाग्राम URL में कोड शामिल करता है। आप कोड लेने के लिए HTTP GET का उपयोग कर सकते हैं: $ code = $ _GET ['कोड'];
कोई नहीं

-1

मैं PHP का उपयोग कर रहा हूँ, लेकिन किसी भी lib का उपयोग किए बिना। शायद यह आपकी मदद करे।

curl.php

class InstagramApi 
{

public function GetAccessToken($client_id, $redirect_uri, $client_secret, $code) {      
    $url = 'https://api.instagram.com/oauth/access_token';

    $curlPost = 'app_id='. $client_id . '&redirect_uri=' . $redirect_uri . '&app_secret=' . $client_secret . '&code='. $code . '&grant_type=authorization_code';
    $ch = curl_init();      
    curl_setopt($ch, CURLOPT_URL, $url);        
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POST, 1);      
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);            
    $data = json_decode(curl_exec($ch), true);  
    $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); 
    curl_close($ch);    

    if($http_code != '200')         
        throw new Exception('Error : Failed to receieve access token');

    return $data;

  }

index.php

include "curl.php";
include "instagram_keys.php"; // holding APP ID, SECRET KEY, REDIRECT URI

 $instagram_ob = new InstagramApi();
 $insta_data = $instagram_ob->GetAccessToken(INSTAGRAM_CLIENT_ID, INSTAGRAM_REDIRECT_URI, INSTAGRAM_CLIENT_SECRET, $_GET['code']);  
  echo  $insta_data['access_token'];
  echo  $insta_data['user_id'];

नोट: $_GET['code']आवश्यक है और आपको पता होना चाहिए कि कोड कैसे प्राप्त करें। यहाँ पढ़ें

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