পরীক্ষার ব্যবহারকারীকে প্রমাণীকরণ করুন {"ত্রুটি_প্রকার": "OAuthException", "কোড": 400, "ত্রুটি_মেসেজ": "অবৈধ প্ল্যাটফর্ম অ্যাপ্লিকেশন"}


17

আমি ইনস্টাগ্রাম বেসিক ডিসপ্লে এপিআইয়ের মাধ্যমে অ্যাক্সেস টোকেনটি পুনরুদ্ধার করার চেষ্টা করছি তবে পরীক্ষার ব্যবহারকারীকে প্রমাণীকরণের চেষ্টা করার সময় আমি এই ত্রুটিটি পেয়েছি:

{
    "error_type": "OAuthException",
    "code": 400,
    "error_message": "Invalid platform app"
}

আমি অ্যাপ্লিকেশন অনুমোদন স্ক্রিন দেখতে আশা করি


আপনি কি কখনও এর সমাধান খুঁজে পেয়েছেন? আমারও একই সমস্যা হচ্ছে
MontyTheMack

উত্তর:


26

Felice!

ইনস্টাগ্রাম অ্যাপ সেট আপ করার সময়, আপনার প্ল্যাটফর্ম নির্দিষ্ট অ্যাপ্লিকেশন আইডি ব্যবহার করা উচিত এবং ফেসবুকে জেনেরিক সেটআপটি নয়।

আপনার ফেসবুক অ্যাপে ড্যাশবোর্ডে গিয়ে ইনস্টাগ্রাম অ্যাপ আইডিটিProducts > Instagram > Basic Display দেখতে হবে ।

আপনার অনুমোদনের URL এ এটি ব্যবহার করুন এবং এটি কাজ করা উচিত।


আপনি কি কখনও এর সমাধান খুঁজে পেয়েছেন? আমারও একই সমস্যা হচ্ছে
MontyTheMack

4
আমি ইনস্টাগ্রাম অ্যাপ্লিকেশন আইডি ব্যবহার করছি এবং এটি এখনও এই ত্রুটি দিচ্ছে।
MontyTheMack

1
একই অবস্থা. আমি লক্ষ্য করেছি যে যাই হোক না কেন পরামিতি আপনাকে [আরোপ করা api.instagram.com/oauth/access_token/] , এটি একটি ত্রুটির নিক্ষেপ করবে! একটি খারাপ শেষ পয়েন্ট হতে পারে? যাই হোক না কেন, আমি [ বিকাশকারী.ফেসবুক / ডকস / ইনস্টাগ্রাম-বেসিক -ডিসপ্লে- এপি /… তে উল্লিখিত ধাপে ধাপে সমস্ত কিছু অনুসরণ করেছি এবং সমস্ত পদক্ষেপ 5 পর্যন্ত পুরোপুরি ঠিকঠাক কাজ করেছি : টোকেনের জন্য কোডটি বিনিময় করুন যেখানে আমি তখন ব্যবহার করি পোস্টম্যান [ api.instagram.com/oauth/access_token/] সাথে পরামিতি ক্লায়েন্ট_আইডি, ক্লায়েন্ট_সেক্রেট, গ্র্যান্ট_ টাইপ, রিডাইরেক্ট_রি এবং কোড (সফল অনুমোদনের পরে পুনরুদ্ধার করা) সহ কল ​​করবেন । তবে ব্যর্থ হয়
ডিংডং

6
আমার একই সমস্যাটি আমি পোস্টম্যানের সাথে পরীক্ষা করেছিলাম যে আমি শরীরের ভেতর দিয়ে প্যারামিটারগুলি পাস করে এক্স-www-ফর্ম-ইউরেনকোড স্থাপন করেছিলাম, এটি চ্যামের মতো কাজ করেছিল
মাইকেল দে মেনটেন

6

আপনি নীচের ছবিতে দেখতে পাচ্ছেন শরীরের মাধ্যমে এবং x-www-form-urlencoded পরামিতিগুলি সূক্ষ্ম কাজ করে এখানে চিত্র বর্ণনা লিখুন


1
সত্য, এটি পুরোপুরি সূক্ষ্মভাবে কাজ করেছে
ডিংডং

এটি আমার পক্ষে কাজ করছে না
নিকুঞ্জ

1
ধন্যবাদ আপনি সত্যিই আমাকে সাহায্য করেছেন :)
বার্টকে_৯7 ২

2

আমার অনুরূপ সমস্যা ছিল এবং আমি আবেদন করতে / x-www-form-urlencoded এর অনুরোধের সামগ্রী ধরণের সেট করে সমাধান করতে সক্ষম হয়েছি। অনুরোধটি কার্যকর করতে কীভাবে দেখানো হচ্ছে তার নীচে এসি # উদাহরণ রয়েছে:

public async Task<UserTokenResponseModel> GetUserToken(string code)
    {
        var url =
            $"https://api.instagram.com/oauth/access_token";

        var request = new HttpRequestMessage(HttpMethod.Post, url);

        var client = _httpClientFactory.CreateClient();

        var requestContent = new List<KeyValuePair<string, string>>();
        requestContent.Add(new KeyValuePair<string, string>("client_id", ClientId));
        requestContent.Add(new KeyValuePair<string, string>("client_secret", Secret));
        requestContent.Add(new KeyValuePair<string, string>("grant_type", "authorization_code"));
        requestContent.Add(new KeyValuePair<string, string>("code", code));
        requestContent.Add(new KeyValuePair<string, string>("redirect_uri", "https://localhost:44315/instagram/authorizecallback"));

        request.Content = new FormUrlEncodedContent(requestContent);

        var response = await client.SendAsync(request);
        var content = await response.Content.ReadAsStringAsync();

        if (!response.IsSuccessStatusCode)
        {
            throw new Exception(content);
        }

        return JsonConvert.DeserializeObject<UserTokenResponseModel>(content);
    }

1

অন্যান্য উত্তরে যেমন উল্লেখ করা হয়েছে, সমস্যাটি ফর্ম বডি নিয়ে ছিল যা এক্স-www-ফর্ম-urlncoded ফর্ম্যাটে প্রেরণের কথা । এটা তোলে পিয়ন আমার জন্য জরিমানা কাজ ছিল কিন্তু একই বাস্তবায়ন করার জন্য কৌণিক সামান্য আদর্শ। এখানে পোস্ট রিকোয়েস্ট বডিটি প্রথমে এইচটিপিপ্যারামস ফর্ম্যাটে রূপান্তর করতে হবে এবং তারপরে পোস্ট অনুরোধের 'বডি' প্যারামিটারে স্ট্রিং হিসাবে প্রেরণ করতে হবে ..

import { Injectable } from '@angular/core';
import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';

@Injectable({
  providedIn: 'root'
})
export class appService {

  constructor(private http: HttpClient) { }

  public getInstaAccessToken(formData) {
    let full_url = "https://api.instagram.com/oauth/access_token";
    let body = new HttpParams()
      .set("client_id" , "YOUR_CLIENT_ID")
      .set("client_secret","YOUR_CLIENT_SECRET")
      .set("code","code received from redirect url")
      .set("grant_type","authorization_code")
      .set("redirect_uri","your redirect uri")
    const requestOptions = {
      headers: new HttpHeaders().set('Content-Type', 'application/x-www-form-urlencoded')
    }
    return this.http.post(full_url, body.toString(), requestOptions).subscribe(data=>{
      console.log(data);
      /* 
        {
          "access_token": "IGQVJ...",
          "user_id": 17841405793187218
        }
      */
    })
  }

}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.