ফেসবুক অ্যাপ: লোকালহোস্ট আর অ্যাপ ডোমেন হিসাবে কাজ করে না


94

আমি রেল এবং jQuery ব্যবহার করে ফেসবুকের জন্য একটি গেম লিখছি। যেহেতু আমি ফেসবুক জাভাস্ক্রিপ্ট এসডিকে ব্যবহার শুরু করেছি, তাই লোকালহোস্টকে অ্যাপ্লিকেশন ডোমেন হিসাবে ব্যবহার করা ঠিক মনে হয়েছিল ঠিক কাজ করে। আমি স্থানীয়ভাবে এবং হিরোকু উভয়ই আমার গেমটি পরীক্ষা করতে সক্ষম হয়েছি।

গত দিনগুলিতে, মনে হয় ফেসবুক তাদের বিকাশকারী ইউআইতে একটি বড় আপডেট করেছে। এখন আমি যদি অ্যাপ্লিকেশন ডোমেন হিসাবে লোকালহোস্ট যুক্ত করি তবে এটি আমাকে নিম্নলিখিত ত্রুটি দেয়:

এটি অবশ্যই ক্যানভাস ইউআরএল, সিকিউর ক্যানভাস ইউআরএল, সাইট ইউআরএল, মোবাইল সাইট ইউআরএল, পৃষ্ঠা ট্যাব URL বা সুরক্ষিত পৃষ্ঠা ট্যাব URL থেকে প্রাপ্ত হওয়া উচিত from নিম্নলিখিত ডোমেনগুলি পরীক্ষা করুন এবং সংশোধন করুন: লোকালহোস্ট

আমার গেমটিও এখন স্থানীয়ভাবে কাজ করে না এবং জাভাস্ক্রিপ্ট এসডিকে ব্যবহারকারীর লগ ইন করার সময় আমি একটি ত্রুটি পেয়েছি:

এপিআই ত্রুটি কোড: 191 এপিআই ত্রুটি বর্ণনা: নির্দিষ্ট URL টি প্রয়োগের মালিকানাধীন নয় ত্রুটি বার্তা: অবৈধ redirect_uri: প্রদত্ত URL টি অ্যাপ্লিকেশন কনফিগারেশন দ্বারা অনুমোদিত নয়।

আমি যখন আমার গেম স্থাপন করি তখন এটি হয় না, যেহেতু হিরাকুঅ্যাপ.কমকে একটি কার্যকর অ্যাপ্লিকেশন ডোমেন হিসাবে বিবেচনা করা হয়।

আমি যদি আর লোকালহোস্ট বা 127.0.0.1 ব্যবহার করতে না পারি তবে আমার গেমটি কীভাবে বিকাশ এবং পরীক্ষার কথা?


ক্যানভাস ইউআরএল, সিকিউর ক্যানভাস ইউআরএল, সাইট ইউআরএল, মোবাইল সাইট ইউআরএল, পৃষ্ঠা ট্যাব URL বা সুরক্ষিত পৃষ্ঠা ট্যাব URL- এর জন্য আপনার কী মান রয়েছে?
আইজি

4
ওহে ছেলেরা, আমি এটি পেয়েছি, আপনাকে একটি নতুন "পরীক্ষার অ্যাপ্লিকেশন" তৈরি করতে হবে, তাদের অ্যাপ্লিকেশন সেটিংস পৃষ্ঠায় এটি উল্লেখ করতে হবে, শেষ পর্যন্ত লোকালহোস্টে
লুই গ্রেললেট

@ লুইস গ্রেলেট, আচ্ছা, আমি "শীর্ষ স্তরের ডোমেনগুলি অনুমোদিত নয়" পেয়ে যাচ্ছি। যেমনটি আপনি বলেছেন, চ ***** ছ
অভিজিৎ সরকার

4
"ক্লায়েন্ট ওআউথ সেটিংসের অধীনে, যেখানে এটি বলেছে যে রিডাইরেক্ট ইউআরআইয়ের জন্য কঠোর মোড ব্যবহার করুন এটি নিশ্চিত করুন যে এটি কোনও এবং হিট সেভ সেট করা আছে" " - wp-native-articles.com/blog/news/…
এফ্লাত

উত্তর:


241

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

  • সমস্ত পরিবর্তনগুলি বেসিক ট্যাবের অধীনে সেটিংস পৃষ্ঠায় করা হয়েছিল

১) বিকল্পগুলির প্রথম বাক্সের নীচে কেন্দ্রে, "প্ল্যাটফর্ম যুক্ত করুন" ক্লিক করুন এবং "ওয়েবসাইট" নির্বাচন করুন (বা আপনার অ্যাপ্লিকেশনটির জন্য যা উপযুক্ত তা হ'ল)

২) ওয়েবসাইটটি প্রকাশিত বাক্সে আপনি সবে যুক্ত করেছেন: সাইটের ইউআরএল: http://localhost:3000/

৩) উপরের বাক্সে (সেটিংস => বেসিক): অ্যাপ ডোমেন: localhost

৪) নীচে ডানদিকে - "পরিবর্তনগুলি সংরক্ষণ করুন" ক্লিক করুন

৫) আপনার কোডটিতে অ্যাপ্লিকেশন আইডিটি অনুলিপি করে সঠিকভাবে আটকানো হয়েছে তা নিশ্চিত করুন। (আইডিটি আবার প্রয়োজন হলে সেই পৃষ্ঠায় প্রথম বাক্সে রয়েছে))


4
উত্তর আপডেট করার জন্য আপনাকে ধন্যবাদ। প্রকৃতপক্ষে, দেখে মনে হচ্ছে যে আসল উত্তরটি আর কাজ করে না (এখনও, আপনার মূল উত্তর ক্যামিলো এবং বিরল শ্রেণীর জন্য আপনাকে ধন্যবাদ)। এটা লজ্জাজনক যে ফেসবুক কখনও এই পরিবর্তনগুলি ঘোষণা করে বলে মনে হয় না।
রাভেনস্টাইন

26
নোট করুন যে আপনার ইউআরএলটি অবশ্যই সেটিংস> অ্যাডভান্সড> বৈধ ওআউথ পুনর্নির্দেশের ইউআরআইতে তালিকাবদ্ধ থাকতে হবে ।
কারা ব্রাইটওয়েল

4
এটি আর কাজ করে না বলে মনে হয় :( আমি ইউআরএল অবরুদ্ধ হয়ে
মারিয়া ইনেস Parnisari

4
আপনাকে আর 'http' ব্যবহার করার অনুমতি নেই। এটি 'https' হতে হবে।
আইজেমস

4
এই উত্তরটি এখন আর সঠিক নয়। আপনি মৌলিক সেটিংসের অধীনে অ্যাপ্লিকেশন ডোমেন বক্সে লোকালহোস্ট ব্যবহার করতে পারবেন না
মাইকেল রোবেলার্ড

31
  1. Http://developers.facebook.com এ আপনার অ্যাপের সেটিংস পৃষ্ঠায় যান
  2. উপরের বামদিকে ড্রপডাউন তীরটি ক্লিক করুন (আপনার অ্যাপ্লিকেশানের নামের পাশে) এবং "টেস্ট অ্যাপ তৈরি করুন" ক্লিক করুন এবং একটি নাম দিন
  3. সেটিংসে> সেই নতুন টেস্ট অ্যাপের বেসিক অ্যাপ ডোমেনগুলিকে "লোকালহোস্ট" হিসাবে সেট করে
  4. এছাড়াও ওয়েবসাইট সাইটের ইউআরএলকে " http: // লোকালহস্ট: 8888 " হিসাবে সেট করুন (বা আপনি যে কোনও বন্দর ব্যবহার করছেন) হিসাবে সেট করুন।
  5. গুরুত্বপূর্ণ: এই অ্যাপ্লিকেশনটিতে আপনার অনলাইন অ্যাপ্লিকেশন থেকে আলাদা অ্যাপ আইডি এবং অ্যাপ সিক্রেট রয়েছে। সুতরাং, শেষ পদক্ষেপ: নিশ্চিত হয়ে নিন যে আপনি টেস্ট অ্যাপের অ্যাপ আইডি এবং অ্যাপ সিক্রেট সহ আপনার লোকালহোস্টে বসে থাকা কোডটি আপডেট করেছেন। বিপরীতে, লাইভ সার্ভারে থাকা কোডটি মূল অ্যাপের আইডি এবং গোপন ব্যবহার করা উচিত।

সর্বাধিক বুদ্ধিমান / আধুনিক সমাধান বনাম আপনার প্রোড অ্যাকাউন্টটি কনফিগার করার চেষ্টা করে কোনও দেব enভির সাথে কাজ করে।
কার্ল এডওয়ার্ডস

13

আপনি এখনও আপনার অ্যাপ্লিকেশনটিকে হিরকুর মতো দূরবর্তী সেভারে স্থাপন না করে পরীক্ষা করতে পারেন। কৌশলটি এইভাবে etc/hostsফাইলটি আপডেট করা :

127.0.0.1 mydomain.com

তারপরে ফেসবুক অ্যাপের সেটিংসে, "[" এবং "]" ছাড়াই [ http: //] mydomain.com টাইপ করুন

এটি আমার পক্ষে এইভাবে কাজ করেছিল


আপনি যদি কোনও মানক-বন্দর ব্যবহার না করেন এটি কার্যকর হবে না যা সাধারণত তারা সমানতালে অনেকগুলি অ্যাপ্লিকেশন বিকাশ করে তবে তারা তা করে।
মিগ্রোল

4
এটি কাজ করবে, আমি বন্দর 8000 উপর পরিবেশন করা করার জন্য ব্যবহৃত পাইথন -m SimpleHTTPServer এবং example.com:8000/test-facebook.html , প্রত্যাশিত ফলাফলের প্রদান করা হয়েছে। আমি ধরে নিয়েছি যে আপনি / ইত্যাদি / হোস্টগুলিতে 127.0.0.1 example.com নিবন্ধভুক্ত করেছেন
প্যাট্রিক 13

জানা ভাল! সুতরাং তারা বন্দর উপেক্ষা করে মনে হয়, আজব।
মিগ্রোল

9

2017 সালে যার সাথে এটি ফিরিয়ে দিচ্ছেন প্রত্যেকের জন্য The ইন্টারফেসটি আবার বদলে গেল। আমি উত্তরে এটি মন্তব্য করতে চেয়েছিলাম তবে আমার যথেষ্ট খ্যাতি নেই। আপনার অ্যাপ্লিকেশানের লোকালহোস্ট ইউআরএল এখন তিন জায়গায় অনুলিপি করতে হবে। বর্তমানে, (26 শে অক্টোবর, 2017) ক্রমটি হ'ল:

১) বাম মেনুতে "সেটিংস" ক্লিক করুন।

২) বিকল্পগুলির প্রথম বাক্সের নীচে কেন্দ্রে, "প্ল্যাটফর্ম যুক্ত করুন" ক্লিক করুন এবং "ওয়েবসাইট" নির্বাচন করুন (বা আপনার অ্যাপ্লিকেশনটির জন্য যা উপযুক্ত তা হ'ল)

৩) ওয়েবসাইটটিতে উপস্থিত বাক্সে আপনি স্রেফ আপনার লোকালহোস্ট সাইটের ইউআরএল অনুলিপি করেছেন (ফী http: // লোকালহোস্ট: 3000 / )

৪) উপরের বাক্সে সেই "অ্যাপ ডোমেন" একই ইউআরএল অনুলিপি করে

৫) নীচে ডানদিকে - "পরিবর্তনগুলি সংরক্ষণ করুন" ক্লিক করুন

)) "পণ্যগুলির" নীচে বাম মেনুতে "ফেসবুক লগইন" ক্লিক করুন (বা এটি উপলব্ধ না থাকলে "পণ্য যুক্ত করুন" এর মাধ্যমে যুক্ত করুন)

)) আপনি এখন ফেসবুক লগইন সেটিংসে রয়েছেন। "URL এর বৈধ OAuth পুনর্নির্দেশ" তে একই url টি অনুলিপি করুন

এই কাজ করা উচিত.


4
নোট করুন যে ফেসবুক আর বৈধ OAuth পুনর্নির্দেশের ইউআরআই
OmNiOwNeR

5

আপনার ক্যানভাস ইউআরএল বা মোবাইল সাইট ইউআরএল হিসাবে কেবল লোকালহোস্ট যুক্ত করুন, এটি আপনাকে আপনার অ্যাপ্লিকেশন ডোমেন সেটিংসে লোকালহোস্ট এবং হিরকুঅ্যাপ ডটকম উভয়ই রাখতে দেয়। তারপরে আপনার অ্যাপ্লিকেশনটি একবার তৈরি হয়ে গেলে কেবল এটিকে সরিয়ে দিন।


5

এটি ভুল উপায়। আপনাকে অবশ্যই অ্যাপ্লিকেশন সেটিংসে টেস্ট ট্যাব ব্যবহার করে একটি পরীক্ষা অ্যাপ্লিকেশন তৈরি করতে হবে। এবং তারপরে আপনি আপনার অ্যাপ্লিকেশনটিতে আপনার বিকাশ পর্যায়ের url (উদাহরণস্বরূপ লোকালহোস্ট) প্রবেশ করতে পারেন।


4
আমি একটি পরীক্ষা অ্যাপ তৈরি করেছি তবে এটি কার্যকর হয়নি। আর কোন বিবরণ?
রজার গজরাজ

হ্যাঁ, আমি বিশ্বাস করি এটিই সঠিক উপায়, সম্পূর্ণ নির্দেশাবলী দেখুন stackoverflow.com/a/38173031/3625739
জর্জিও

5

ফায়ারবেস ব্যবহার করে সমাধান

এটির কাজ চালানোর জন্য localhost, বন্দরটি 3000আমি নিম্নলিখিতগুলি করেছি:

  1. অ্যাপ তৈরি করুন

টেস্ট অ্যাপ তৈরি করুন

  1. এখন তীরের ড্রপডাউন (উপরে বাম) থেকে "+ তৈরি টেস্ট অ্যাপ" নির্বাচন করুন।

এখানে চিত্র বর্ণনা লিখুন

  1. যোগ localhostঅ্যাপ ডোমেনে

এখানে চিত্র বর্ণনা লিখুন

  1. যোগ http://localhost:3000/নির্বাচিত দ্বারা সাইট URL করতে "+ যোগ করুন প্ল্যাটফর্ম"

এখানে চিত্র বর্ণনা লিখুন

এই মুহুর্তে আমি এখানে জমা দেওয়া সমস্ত পূর্ববর্তী উত্তরগুলি অনুসরণ করেছি, তবে কিছুই কার্যকর হয়নি।

তাই ...

  1. বাম হাতের মেনুতে, "পণ্য যুক্ত করুন" নির্বাচন করুন

  2. "ফেসবুক লগইন" যুক্ত করুন

আপনাকে ডিফল্ট ডোমেন সহ একটি ওয়ার্কফ্লো কারোজেল উপস্থাপন করা হবে http://localhost:3000/, শেষ অবধি "চালিয়ে" ক্লিক করুন।

  1. পণ্য মেনু থেকে "ফেসবুক লগইন> সেটিংস" নির্বাচন করুন।

  2. আপনার ফায়ারবেস OAuth পুনর্নির্দেশ ইউআরআই প্রবেশ করুন (আপনার ফায়ারবেস কনসোলে https://console.firebase.google.com , ফেসবুক লগইন সক্ষম করার সময় পাওয়া যায় , নীচের উদাহরণ)

এখানে চিত্র বর্ণনা লিখুন

  1. ইউআরআই আটকান এবং সংরক্ষণ করুন।

এখানে চিত্র বর্ণনা লিখুন

সম্পন্ন.


2

ইউআরএলটি পোর্ট সহ ব্যবহার করার চেষ্টা করুন, যেমন

    http://localhost:8000/

আমার একই সমস্যা ছিল এবং এখনই এই সমাধানটি খুঁজে পেয়েছি।


4
আপনাকে প্ল্যাটফর্ম হিসাবে 'ফেসবুকে অ্যাপ' যুক্ত করতে এবং লোকালহোস্ট যুক্ত করতে হবে: 8000 ক্যানভাস ইউআরএলে
টাচুন লিন

1

এটি আমার জন্য হিরকুতে কাজ করে, লোকালহোস্ট জিনিসটি কাজ করে না (আমার জন্য)। আমি আসা করি এটা সাহায্য করবে

১) বিকল্পগুলির প্রথম বাক্সের নীচে কেন্দ্রে, "প্ল্যাটফর্ম যুক্ত করুন" ক্লিক করুন এবং "ওয়েবসাইট" নির্বাচন করুন (বা আপনার অ্যাপ্লিকেশনটির জন্য যা উপযুক্ত তা হ'ল)

2.) বক্স যে ওয়েবসাইট আপনি শুধু যোগ জন্য আসে আপ ইন: সাইট URL: http://MYAPP.herokuapp.com/ (আপনার অ্যাপের নাম দিয়ে MYAPP প্রতিস্থাপন)

৩.) উপরের বাক্সে (সেটিংস => বেসিক): অ্যাপ্লিকেশন ডোমেন: MYAPP.herokuapp.com (আপনার অ্যাপের নামের সাথে এমওয়াইপিপি প্রতিস্থাপন করুন)

৪) নীচে ডানদিকে - "পরিবর্তনগুলি সংরক্ষণ করুন" ক্লিক করুন


1

আমি যেমন ছিলাম এমন কিছু লোকের সাথে যারা লড়াই করছেন তাদের জন্য কেবল একটি নোট। আমি "টেস্ট" অ্যাপ্লিকেশনগুলির সাথে এটি কাজ করতে সক্ষম হইনি। আমার আসল অ্যাপ্লিকেশন সেটিংস ব্যবহার করে (এবং কেবল যোগ করা

"http://localhost:3000/"

আমার ক্যানভাস ইউআরএলে) প্রত্যেকের পরামর্শ মতো কাজ করেছিল। দেখে মনে হচ্ছে পরীক্ষামূলক অ্যাপ্লিকেশনগুলি প্রকৃত অ্যাপ্লিকেশনগুলির সমান নয়।


1

আমি আমার রেলস অ্যাপ্লিকেশনটি নিয়ে একটি সমস্যার মধ্যে পড়েছিলাম যা আমি সাধারণতঃ http: // লোকালহোস্ট: 3000 দিয়ে চালিত করি কারণ ফেসবুকের এখন https ব্যবহারের জন্য বৈধ OAuth পুনর্নির্দেশের প্রয়োজন।

স্থানীয়ভাবে https ব্যবহার করতে, আমি [ngrok] [1] ব্যবহার করেছি যা আপনাকে একটি টানেল সরবরাহ করে https ব্যবহার করতে দেয়। এটা করতে:

  1. আমি তাদের ওয়েবসাইটে গিয়ে তাদের প্রোগ্রামটি ডাউনলোড করেছি
  2. আমি প্রোগ্রামটির জন্য ফাইলটি বের করেছি
  3. আমার কনসোলে, আমি সেই ডিরেক্টরিতে গিয়েছিলাম যেখানে এনগ্রোককে এক্সট্রাক্ট করা হয়েছিল এবং আমার উইন্ডোজ মেশিনে 'গ্রুক HTTP 3000' প্রবেশ করানো হয়েছিল, অন্যেরা './grok HTTP 3000' ব্যবহার করতে পারে
  4. প্রবেশ করার পরে, এনগ্রোক একটি https ঠিকানা সরবরাহ করেছিল যা আমি ফেসবুকে বৈধ OAuth পুনর্নির্দেশের ইউআরআই ফিল্ডে রেখেছি
  5. তারপরে আমি আমার সার্ভারটি শুরু করেছিলাম এবং লোকালহোস্ট: 3000 এর পরিবর্তে https ঠিকানা ব্যবহার করে এটি অ্যাক্সেস করতে সক্ষম হয়েছি

1

স্থানীয় পরীক্ষা করার জন্য আপনাকে যা করতে হবে তা হ'ল অ্যাপটি বন্ধ করে দেওয়া বা ফেসবুক অ্যাপটিকে বিকাশ মোডে রেখে দেওয়া। তারপরে ফেসবুক আপনাকে একা অ্যাপে প্রবেশ করার অনুমতি দেবে


0

আমার জন্য এটি এইভাবে কাজ করেছে:

ফেসবুক অ্যাপ্লিকেশন ড্যাশবোর্ড কনফিগার করা:

'বেসিক' ট্যাবে:

1) অ্যাপ ডোমেনটি খালি রেখে দেওয়া।

2) যে কোনও প্ল্যাটফর্ম মুছে ফেলা হচ্ছে। অর্থ: কোনও ওয়েবসাইট নেই ক্যানভাস প্ল্যাটফর্ম। (সুতরাং কোনও সাইট-URL ফিল্ড পূরণ করতে পারে না)

* 'উন্নত' ট্যাবে:

3) আমি বৈধ OAuth পুনর্নির্দেশের ইউআরআইতে প্রবেশ করেছি:

http://localhost/myappfolder/redirect.php

৪) আমার কোড সম্পর্কিত, আমার সি: /xampp/htdocs/localhost/myappfolder/index.php (এই ফাইলটি লগইন URL তৈরি করে):

$helper = new FacebookRedirectLoginHelper('http://localhost/myappfolder/redirect.php');  

redirect.php ফাইলের ভিতরে:

$helper = new FacebookRedirectLoginHelper('http://localhost/myappfolder/redirect.php');  

এবং আমি একটি সেশন পেয়েছিলাম! অবশেষে! শেষ পর্যন্ত নিজেকে ফাঁসানোর দরকার নেই: পি

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