الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تسجيل الدخول في فايسبوك عبر الموقع

بدأه عماد خطيب في 20 ديسمبر 2011 · 8 رد · 559 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

عندما احاول جلب بيانات مستخدم ما من فايسبوك فان بياناته ترجع بشكل جيد اذا كانت بالانجليزية

اما اذا كان المستخدم قد ادخل اسمه في الفايسبوك باللغه العربيه فان بياناته ترجع الي بطريقه غريبة على هذا الشكل :

\u0627\u0644\u0645\u0646\u0627\u0636\u0644

مع اني استخدم ال unicode عند الطلب

هكذا احاول جلب المعلومات :

 Dim MyClient As System.Net.WebClient = New System.Net.WebClient()
        MyClient.Encoding = Encoding.UTF8
        Dim MyStream As Stream = MyClient.OpenRead(URL)
        Dim MyReader As StreamReader = New StreamReader(MyStream, Encoding.UTF8)
        Dim response As String = MyReader.ReadToEnd()
        MyStream.Close()
        Return response

هل للاخوة اي فكرة لماذا هذا يحصل ؟

Web Development
Imad M.Khatib
Asp.net , Ajax , MSSQL , VB.Net , C#.Net , Xml , DomHtml , JQuery , JavaScript , Json , LINQ

imad.khatib@hotmail.com

#2

السلام عليكم ورحمه الله وبركاته

اخي حاول تجرب Encoding.Unicode

.:: Wish to become better and better ::.

#3

مشكور على تفاعلك لكن لم يعمل حتى الان

Dim MyClient As System.Net.WebClient = New System.Net.WebClient()
        MyClient.Encoding = Encoding.Unicode
        Dim MyStream As Stream = MyClient.OpenRead(URL)
        Dim MyReader As StreamReader = New StreamReader(MyStream, Encoding.Unicode)
        Dim response As String = MyReader.ReadToEnd()
        MyStream.Close()
        Return response

Web Development
Imad M.Khatib
Asp.net , Ajax , MSSQL , VB.Net , C#.Net , Xml , DomHtml , JQuery , JavaScript , Json , LINQ

imad.khatib@hotmail.com

#4

السلام عليكم ,

حاول أن تستخدم التالى :-

 Encoding ar = Encoding.GetEncoding("arabic");

ومرره هكذا :-

 StreamReader reader = new StreamReader(Stream,ar);

وبالمناسبة :- ناتج هذا الكود :- \u0627\u0644\u0645\u0646\u0627\u0636\u0644 هو كلمة " المناضل" cool.gif.

وإليك التحويل :-

Encoding ar = Encoding.GetEncoding("arabic");
    	byte[] bytes =ar.GetBytes( "\u0627\u0644\u0645\u0646\u0627\u0636\u0644");
   	string some =ar.GetString(bytes);
   	Response.Write(some);

وفقك الله لما يحب ويرضى .

تم تعديل هذه المشاركة بواسطة Ahmed Moosa في 21 ديسمبر 2011 في 22:53

Ahmed Moosa

Microsoft Community Contributor | MCC

Microsoft Certified Professional Developer | MCPD

Microsoft Certified Technology Specialist | MCTS

Senior .NET Developer

.Net Trainer

English blog : http://weblogs.asp.net/ahmedmoosa/

مدونة عربى : http://ahmedmoosa.wordpress.com/

#5

بارك الله فيك اخ احمد

لكن كيف لي ان اعرف ات ال encoding هو arabic ?

عندما انادي على url معين لاجلب منه جوابا ما في هذا الكود :

 Public Shared Function RequestResponseFromRemoteSite(ByVal URL As String) As String
        Dim MyClient As System.Net.WebClient = New System.Net.WebClient()
        MyClient.Encoding = Encoding.Unicode
        Dim MyStream As Stream = MyClient.OpenRead(URL)
        Dim MyReader As StreamReader = New StreamReader(MyStream, Encoding.Unicode)
        Dim response As String = MyReader.ReadToEnd()
        MyStream.Close()
        Return response
    End Function

فاني لا اعلم ما هي بيانات المستخدم , ربما تكون بالصينية او بالعربيه او الروسيه او الانجليزية

هل عليي ان اتوقعها ؟ بالتاكيد لا , هل يوجد طريقة لمعرفة ذلك ؟

وبارك الله فيك

تم تعديل هذه المشاركة بواسطة عماد خطيب في 22 ديسمبر 2011 في 12:47

Web Development
Imad M.Khatib
Asp.net , Ajax , MSSQL , VB.Net , C#.Net , Xml , DomHtml , JQuery , JavaScript , Json , LINQ

imad.khatib@hotmail.com

#6
عماد خطيب كتب:

فاني لا اعلم ما هي بيانات المستخدم , ربما تكون بالصينية او بالعربيه او الروسيه او الانجليزية

فى هذة الحالة يمكنك إستخدام Unicode.UTF-8 , لإنها هى من تدعم مجموعة لغات منها العربية .

Ahmed Moosa

Microsoft Community Contributor | MCC

Microsoft Certified Professional Developer | MCPD

Microsoft Certified Technology Specialist | MCTS

Senior .NET Developer

.Net Trainer

English blog : http://weblogs.asp.net/ahmedmoosa/

مدونة عربى : http://ahmedmoosa.wordpress.com/

#7

وهذا ما فعلته في التعليق الاول لكنه لم يعمل :sad:

Web Development
Imad M.Khatib
Asp.net , Ajax , MSSQL , VB.Net , C#.Net , Xml , DomHtml , JQuery , JavaScript , Json , LINQ

imad.khatib@hotmail.com

#8
عماد خطيب كتب:

وهذا ما فعلته في التعليق الاول لكنه لم يعمل :sad:

عفواً , ولكن لدى شعور ان هناك خطأ فى التطبيق , لإنه من فهمى للـ Unicode h أجد ان ما تريده يتم بـ UTF-8 , فلربما أرفقت مثال , والله المستعان .

تم تعديل هذه المشاركة بواسطة Ahmed Moosa في 25 ديسمبر 2011 في 23:44

Ahmed Moosa

Microsoft Community Contributor | MCC

Microsoft Certified Professional Developer | MCPD

Microsoft Certified Technology Specialist | MCTS

Senior .NET Developer

.Net Trainer

English blog : http://weblogs.asp.net/ahmedmoosa/

مدونة عربى : http://ahmedmoosa.wordpress.com/

#9

لاحظ معي . هذا الكود يعمل فقط اذا كان الاسم بالفايسبوك معرف بالانجليزية ,

طبعا بامكانك وضع ال user id الخاص بك في فايسبوك بدلا من 100002810041704 في الكود المرفق و access_token الخاص بك والتجربة

Dim result As String = RequestResponseFromRemoteSite("https://graph.facebook.com/100002810041704?access_token=AAABzERrFUDABAEyZBmJFuOFNfwtzp3SkzY0wjVJHL1dGzFXHYxzq7ThhGHM9BqMiZARgRAI9iUVxnnnX4N1p0ZA30z0SmsPcVv1ZCaDZBKwZDZD")

  Public Shared Function RequestResponseFromRemoteSite(ByVal URL As String) As String
        Dim MyClient As System.Net.WebClient = New System.Net.WebClient()
        MyClient.Encoding = Encoding.UTF8
        Dim MyStream As Stream = MyClient.OpenRead(URL)
        Dim MyReader As StreamReader = New StreamReader(MyStream, Encoding.UTF8)
        Dim response As String = MyReader.ReadToEnd()
        MyStream.Close()
        Return response
    End Function

هذا سيعطيك النتيجه عن هذا المستخدم في الفايسبوك بالشكل التالي :

"{"id":"100002810041704","name":"\u0627\u0644\u0627\u062e \u0627\u0644\u0645\u0646\u0627\u0636\u0644","first_name":"\u0627\u0644\u0627\u062e","last_name":"\u0627\u0644\u0645\u0646\u0627\u0636\u0644","link":"http:\/\/www.facebook.com\/profile.php?id=100002810041704",".......................

Web Development
Imad M.Khatib
Asp.net , Ajax , MSSQL , VB.Net , C#.Net , Xml , DomHtml , JQuery , JavaScript , Json , LINQ

imad.khatib@hotmail.com

مواضيع مشابهة