كيفية الوصول إلى Facebook معرف المستخدم من جافا سكريبت داخل الفيس بوك:iframe?

StackOverflow https://stackoverflow.com/questions/1061624

سؤال

أنا أكتب Facebook التطبيق هو بسيط لعبة المجلس التي يجب تنفيذها في جافا سكريبت.Facebook يبدو فقط أن اسمحوا جافا سكريبت تشغيل تطبيقات iframe لذلك أنا تحميل الصفحة باستخدام <fb:iframe>.أنا فقط أريد أن أكون قادرا على أن أقول جافا سكريبت معرف المستخدم حتى أستطيع أن أقول المستخدم إذا كان هو بدوره أم لا ولكن أنا لا يمكن العثور على وثائق في الوصول إلى facebook البيانات من داخل الفيس بوك:iframe.أنا ربما في عداد المفقودين بعض الأساسية conecpt كما أنا لا أفهم facebook API بشكل جيد جدا.

هل كانت مفيدة؟

المحلول

Facebook API من الصعب جدا متابعة و توثيق ضعيف جدا.أنت على حق حول جافا سكريبت...عادي جافا سكريبت يعمل فقط داخل iframe على Facebook ، وإلا كنت تقتصر على مجموعة فرعية من تصفيتها جافا سكريبت يسمى FBJS.يمكنك بشكل آمن تجاهل أي شيء عن FBJS في الوثائق ، والتركيز على نوافذ الأطر المدمجة.

Iframe التحميل

أول شيء أود أن أذكر أن <fb:iframe> الوسم يحصل في الواقع المقدمة مع طن من الأشياء في src السمة.حتى إذا وضعت علامة مثل هذا في Facebook الصفحة: <fb:iframe src="http://example.com/page?x=y">, ما ينتهي أصبحت عندما الأحمال إلى متصفح المستخدم هو أكثر مثل هذا:

<iframe src="http://example.com/page?x=y&fb_sig_in_iframe=1&fb_sig_locale=en_US&fb_sig_in_new_facebook=1&fb_sig_time=1246340245.3338&fb_sig_added=1&fb_sig_profile_update_time=1242155811&fb_sig_expires=1246345200&fb_sig_user=000000001&fb_sig_session_key=2.d13uVGvWVL4hVAXELgxkZw__.3600.1246345200-000000001&fb_sig_ss=mZtFjaexyuyQdGnUz1zhYTA__&fb_sig_api_key=46899e6f07cef023b7fda4fg2e21bc58&fb_sig_app_id=22209322289&fb_sig=bbc165ebc699b12345678960fd043033">

Facebook يضيف طن من المادة إلى src.المعلمة التي يخبرك المستخدم Facebook id fb_sig_user (وهو 000000001 هنا).أنا على افتراض تعيين التطبيق الخاص بك ك "FBML التطبيق", منذ كنت على الارجح لن تستخدم <fb:iframe> الوسم في "Iframe التطبيق".ومع ذلك ، فإن طريقة التقديم مماثلة في كل الحالات, و يمكنك الحصول على حفنة من الاشياء الاضافية الخاصة بك src الوثيقة في "Iframe التطبيق" كذلك.

هذا حقا فقط يمر عليك Facebook هوية المستخدم على أول شحنة من iframe, ومع ذلك.العمليات اللاحقة داخل iframe لن يكون الوصول إلى أن "معرف المستخدم" إلا إذا كنت تمر من حولها صراحة.

Facebook Connect

إذا كنت ترغب في التفاعل مع Facebook من داخل iframe حيث Facebook ربط مكتبات جافا سكريبت يأتي في.أفضل الإرشادات التي تظهر على إعداد Facebook Connect هو الأرجح هذه صفحة ويكي, لكنه لا يزال غامضا بعض الشيء.Facebook Connect يمكن استخدامها على حد سواء تماما الخارجية المواقع أو المحتوى العادية داخل iframe.كنت تقع ضمن هذه الفئة, لذلك إذا كنت اتبع التعليمات في هذا الرابط استخدام السطر الأول من التعليمات البرمجية في الخطوة 2 (بالنسبة FeatureLoader) ، يجب أن تكون على ما يرام.

مرة واحدة كنت قد تشمل FeatureLoader.js النصي يسمى الفيس بوك.الحرف الأول ، يجب أن تكون عموما وتشغيلها مع ربط الفيس بوك.يجب أن تكون قادرة على التفاعل مع API من ثم على الخروج.على users.getLoggedInUser() طريقة تعطيك معرف المستخدم الحالي داخل iframe عن طريق جافا سكريبت.

على أمل أن يساعد.

نصائح أخرى

ملاحظة أنه اعتبارا من مارس 2011، FB يتحرك إلى آخر طلبات لتحميل نوافذ الأطر المدمجة. يرسل إجراء نموذج مع طريقة = "آخر"، والهدف = "iframe_canvas"، بالإضافة إلى إدخال نوع = "خفية" مع "signed_request"

وأنت CNA استخدام API الفيسبوك للحصول على هوية المستخدم عن طريق الاتصال

Users.getLoggedInUser

ويمكنك الوصول إلى تلك القيمة، ثم استخدم صدى () أن أضيف أن لHTML الخاص بك كما متغير جافا سكريبت، والتي سوف جعلها متاحة للكود جافا سكريبت الخاصة بك.

وحاول Env.user، فقد دخوله في ID المستخدم.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top