Facebook Connect Graph API - لماذا لا يمكنني استرداد جميع تفاصيل المستخدم؟
-
26-09-2019 - |
سؤال
أشعر أن كل سؤال آخر أطرحه هنا يتعلق بـ Facebook Connect - وهذا يقول الكثير عن واجهة برمجة التطبيقات الخاصة بهم. على أي حال ، هذه هي السياسة ، أنا أستطرد ..
أحاول سحب تفاصيل المستخدم من واجهة برمجة تطبيقات الرسم البياني للاستخدام في طلبي (وهو موقع الويب الخارجي FBML - JavaScript SDK للمصادقة).
لقد طلبت الأذونات التالية من المستخدم: (باستخدام مربع الحوار العادي)
- publish_stream
- البريد الإلكتروني
هذا يعمل ، ويسمح لي بالنشر إلى جدار المستخدم ، والاستيلاء على بريده الإلكتروني من API الرسم البياني.
ولكن عندما أقوم بـ HTTP ، احصل على طلب إلى عنوان URL التالي:
https://graph.facebook.com/uid؟access_token=oat (حيث UID = معرف المستخدم للمستخدم الذي أحاول الحصول على التفاصيل ، و OAT = رمز OAUTH لدي).
كل ما يعود في JSON هو معرف المستخدم (الذي لدي بالفعل ، لأن IM أضعه في عنوان URL) والبريد الإلكتروني.
لماذا لا يمكنني الحصول على أشياء مثل الاسم الأول ، الاسم الأخير ، اللغة ، إلخ؟
هل أستخدم عنوان URL الخاطئ؟ هل رمز Oauth الخاص بي خاطئ؟
أحصل على رمز Oauth من هنا:
تحديث:
يبدو أن المشكلة هي رمز Oauth الخاص بي.
لأنه عندما أذهب إلى المستندات: http://developers.facebook.com/docs/api
واستخدم عينة Oauth Token للمستخدم IM الذي يحاول استرداده ، فإنه يحصل على جميع التفاصيل.
أي شخص يعرف ما هو الخطأ في مكالمة رمز Oauth؟
المحلول
لذلك ، كنت أستخدم عنوان URL الخاطئ لتبادل Oauth. يجب أن يكون هذا:https://graph.facebook.com/oauth/exchange_sessions؟type=client_cred&client_id=myappid&client_secrete=myappsecret&sessions=userseshid
كان عنوان URL الذي كنت أستخدمه وفقًا لـ DOCO ، وهو ما يقل أعلاه والذي يعمل في أي مكان يمكن العثور عليه.
أنا في المرحلة مع FBC لم أعد أهتم بـ كيف, ، إذا نجح ، كن شاكراً حتى يفعل ذلك والمضي قدمًا.
تعديل:
أيضًا ، كنت أتساءل لماذا ستتوقف مكالمات واجهة برمجة تطبيقات الرسم البياني دون سبب.
الجواب هو أنني بحاجة لمقارنة مفتاح الجلسة المستخدمة الحصول على رمز Oauth ، مع مفتاح الجلسة حاليًا في ملفات تعريف الارتباط. إذا كانت مختلفة ، كنت بحاجة إلى الحصول على رمز Oauth جديد.
مفتاح الجلسة المستخدم في أي رمز Oauth هو جزء من رمز Oauth الفعلي:
aaa|bbbb|cccc
حيث BBBB هو مفتاح الجلسة. لذلك أنا فقط أقارن ذلك قبل إجراء أي مكالمات واجهة برمجة تطبيقات الرسم البياني.