Upload
uy-nguyen-van
View
155
Download
0
Embed Size (px)
Citation preview
BAgraveI BAacuteO CAacuteO
Caacutech lagravem việc với
FacebookNhoacutem 6
Nguyễn Văn Uy 11520473Trần Tiến Đại 11520039Nguyễn Hữu Tuấn11520458
GVHD
Phạm Thi Vương
Giới thiệu về facebook deverlopers
Giới thiệu về bộ thư viện facebookdll
Tương taacutec với facebook qua facebookdll
Xacircy dựng tiacutenh năng chat qua facebook server
Giới thiệu về facebookdeverlopers
Website httpsdevelopersfacebookcom
Website httpfacebooksdknet
Giới thiệu về facebookdeverlopers
Facebook SDK for NETFeaturesbull NuGet Packages Available (Facebook and Facebook channel)
bull Compatible with all Facebook Graph and REST API methods
bull Supports photovideo uploads
bull Supports batch requests and etags
bull Supports Facebookrsquos most current authentication systems
bull Sample applications and documentation are provided to get you started quickly
Supported Platformsbull NET 35 (Client Profile and Full Profile)
bull NET 40 (Client Profile and Full Profile)
bull NET 45
bull Windows Store Apps
bull Silverlight 5
bull Windows Phone 71
bull Windows Phone 8
Giới thiệu về facebookdeverlopers
Giới thiệu về facebook deverlopers
Giới thiệu về bộ thư viện facebookdll
Tương taacutec với facebook qua facebookdll
Xacircy dựng tiacutenh năng chat qua facebook server
Giới thiệu về bộ thư viện
facebookdllldquoThe Facebook SDK for NET binaries are only distributed via nugetVigrave vậy để sử dụng bộ thư viecircn nagravey chuacuteng ta cagravei đặt trực tiếp thocircng qua NUGET trong
Visual Studio Phiecircn bản hiện tại lagrave 642
nuget install Facebook
ldquoFor those using older versions of Visual Studio that does not support NuGet Package Manager please download the command line version of NuGetexe and run the following commandldquo
Giới thiệu về bộ thư viện
facebookdll
Giới thiệu về facebook deverlopers
Giới thiệu về bộ thư viện facebookdll
Tương taacutec với facebook qua facebookdll
Xacircy dựng tiacutenh năng chat qua facebook server
Trước tiecircn để coacute thể lagravem việc với facebook thocircng qua bộ thư viện đatilde tải
về chuacuteng ta phải tạo một app trecircn trang chủ dagravenh cho nhagrave phaacutet triển của
Truy cập httpsdevelopersfacebookcomapps
Lagravem theo caacutec hướng dẫn của facebook để đăng kiacute trở thagravenh nhagrave phaacutet triển
Tương taacutec với facebook qua
facebookdll
Tương taacutec với facebook qua
facebookdllSau khi đatilde đăng kiacute xong tiến hagravenh tạo một app theo hướng dẫn
Giữ lại AppID vagrave SecretID để sử dụng sau nagravey
Tương taacutec với facebook qua
facebookdll Class FacebookClient
Function Description
object Get() Makes a GET request to the Facebook server
object Post() Makes a POST request to the Facebook server
Uri GetLoginUrl(object parameters) Gets the Facebook OAuth login url
Uri GetLogoutUrl(object parameters)Gets the Facebook OAuth logout url
object ParseDialogCallbackUrl(Uri uri) Parses the dialog callback url to an object of the resulting data
bool TryParseOAuthCallbackUrl(Uri url out
FacebookOAuthResult facebookOAuthResult)Try parsing the url to FacebookFacebookOAuthResult
Tương taacutec với facebook qua
facebookdllFunction Description
FacebookOAuthResult ParseOAuthCallbackUrl(Uri uri) Parse the url to FacebookFacebookOAuthResult
object Delete(string path object parameters) Makes a DELETE request to the Facebook server
void CancelAsync() Cancels asynchronous requests
void VerifyGetSubscription(string requestHubMode
string requestVerifyToken string requestHubChallenge)
Verify HTTP_X_HUB_SIGNATURE for HTTP
GET
object VerifyPostSubscription(string
requestHttpXHubSignature string requestBody string
appSecret)
Verify HTTP_X_HUB_SIGNATURE for HTTP
POST
Tương taacutec với facebook qua
facebookdll VD Lấy Url login của app
bull Trước tiecircn tạo một đối tượng FacebookClient
FacebookClient _fb=new FacebookClient()
Uri _loginUrl = _fbGetLoginUrl(object parameter)
Client_id App ID
redirect_uri Địa chỉ trang web trả về khi yecircu cầu thagravenh
cocircng
scope Phạm vi truy xuất thocircng tin của ứng dụng
display Caacutech thức trigravenh bagravey trang login
response_type Kiểu đối tượng trả về
parameterVd Uri _loginUrl=_fbGetLoginUrl(new
client_id = _appID
redirect_uri = _redirectUri
scope=ldquouser_about_me publish_streamrdquo
display=ldquopopuprdquo
Response_type=ldquotokenrdquo
)
bull Yecircu cầu url login sử dụng hagravem
Tương taacutec với facebook qua
facebookdll VD Đăng nhập facebook bằng loginUrl đatilde coacute
WebBrowser loginBrowser = new WebBrowser()logiBrowserNavigate(_loginUrl)
bull Kiểm tra đăng nhập vagrave nhận AccessToken
bull Tạo một đối tượng WebBrowser
void loginBrower_navigated(object sender NavigationEventArgs e)
FacebookOAuthResult _resultif(_fbTryParseOAuthCallbackUri(euri _result)
_accessToken=_resultAccessToken
Tương taacutec với facebook qua
facebookdll Hagravem Get
Function Description
virtual object Get(string path) Makes a GET request to the Facebook server
virtual object Get(string path object parameters) Makes a GET request to the Facebook server
virtual object Get(string path object parameters
Type resultType)Makes a GET request to the Facebook server
virtual void GetAsync(string path object parameters
object userState)
Makes an asynchronous GET request to the Facebook
server
VD Lấy thocircng tin người dugraveng
bull Để lấy thocircng tin người dugraveng ta sử dụng hagravem Get
_fbGet(string path)
VD var info=_fbGet(ldquomerdquo)
Tương taacutec với facebook qua
facebookdll
VD Lấy danh saacutech bạn begrave
bull Để lấy danh saacutech bạn begrave ta sử dụng hagravem Get
_fbGet(string path)
VD var info=_fbGet(ldquomefriendsrdquo)
Tương taacutec với facebook qua
facebookdll
VD Lấy danh saacutech bạn begrave online
bull Để lấy danh saacutech bạn begrave online ta sử dụng hagravem Get
_fbGet(string path object parameters)
VD
Tương taacutec với facebook qua
facebookdll
VD Lấy danh saacutech Albums của người dugraveng
bull Để lấy danh saacutech album ta dugraveng hagravem
_fbGet(string path)
VD var info=_fbGet(ldquomealbumsrdquo)
Tương taacutec với facebook qua
facebookdll
Hagravem Post
Function Description
virtual object Post(object parameters) Makes a POST request to the Facebook server
virtual object Post(string path object parameters) Makes a POST request to the Facebook server
virtual void PostAsync(object parameters)Makes an asynchronous POST request to the
Facebook server
virtual Taskltobjectgt PostTaskAsync(string path
object parameters)
Makes an asynchronous POST request to the
Facebook server
Tương taacutec với facebook qua
facebookdll
VD Post 1 status lecircn tường
bull Để post status lecircn trang chủ ta sử dụng hagravem Post
_fbPost(string Path object parameter)
VD
Tương taacutec với facebook qua
facebookdll
VD Post 1 higravenh lecircn tường
bull Để post higravenh lecircn trang chủ ta sử dụng hagravem Post
_fbPost(string Path object parameter)
VD
Tương taacutec với facebook qua
facebookdll
Giới thiệu về facebook deverlopers
Giới thiệu về bộ thư viện facebookdll
Tương taacutec với facebook qua facebookdll
Xacircy dựng tiacutenh năng chat qua facebook server
Xacircy dựng tiacutenh năng chat qua
facebook server
Chuacuteng ta sử dụng bộ thư viện agsxmppdll do cocircng ty AG-Software cung cấp
Đacircy lagrave một bộ thư viện được cung cấp miễn phiacute vagrave dựa trecircn phương thức
xmpp
VẤN ĐỀ
Bộ thư viecircn facebookdll khocircng hỗ trợ việc xacircy dựng tiacutenh năng chat
Phiacutea Facebook khocircng hỗ trợ caacutec hagravem API để xacircy dựng tiacutenh năng
chat magrave chỉ hỗ trợ xacircy dựng tiacutenh năng chat thocircng qua giao thức
xmpp (Extensible Messaging and Presence Protocol)
GIẢI PHAacuteP
Link download bộ thư viện agsxmppdll
httpwwwag-softwarenetagsxmpp-sdk
Xacircy dựng tiacutenh năng chat qua
facebook server
Extensible Messaging and Presence Protocol (XMPP) trước đacircy lagrave Jabber lagrave
giao thức mở vagrave dựa trecircn nền tảng XML dugraveng trong nhắn tin nhanh (instant
messaging) vagrave thocircng tin hiện diện trực tuyến (presence information) Theo Hội
Tiecircu chuẩn XMPP (XMPP Standards Foundation trước đacircy lagrave Jabber Software
Foundation JSF) phần mềm dựa trecircn Jabber được triển khai tại hagraveng ngagraven maacutey
phục vụ trecircn Internet vagrave được hơn 10 triệu người trecircn khắp thế giới sử dụng
Jeremie Miller khởi đầu dự aacuten vagraveo năm 1998 phiecircn bản đầu tiecircn được cocircng bố
vagraveo thaacuteng năm 2000 Sản phẩm chiacutenh của dự aacuten lagrave jabberd một trigravenh phục vụ
(server) để từ đoacute caacutec trigravenh khaacutech (client) kết nối đến vagrave trao đổi tin nhắn Trigravenh
phục vụ nagravey coacute thể tạo mạng Jabber riecircng tư (như sau tường lửa) hoặc coacute thể tham
gia vagraveo mạng Jabber cocircng cộng toagraven cầu Đặc tiacutenh cốt lotildei của Jabber lagrave bản chất
của hệ thống tin nhắn nhanh phacircn taacuten vagrave việc sử dụng streaming XML
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
Điểm đặc trưng của hệ thống Jabber lagrave noacute coacute caacutec transport cograven được gọi lagrave
gateway (cổng) cho pheacutep người dugraveng truy cập mạng với caacutec giao thức khaacutec - như
AIM vagrave ICQ (dugraveng OSCAR) MSN Messenger vagrave Windows Messenger (dugraveng Dịch
vụ nhắn tin NET - NET Messenger Service) Yahoo Messenger SMS hay E-mail
Khocircng như caacutec trigravenh khaacutech đa giao thức như Trillian hay Gaim việc truy cập đến
caacutec giao thức khaacutec được Jabber cung cấp ở cấp độ trigravenh phục vụ bằng caacutech truyền
thocircng tin qua caacutec dịch vụ cổng đặc biệt chạy trecircn một maacutey tiacutenh ở xa Bất cứ người
dugraveng nagraveo cũng coacute thể đăng kiacute với một trong caacutec cổng nagravey bằng caacutech cung cấp
thocircng tin cần thiết để đăng nhập vagraveo mạng đoacute vagrave từ đoacute coacute thể liecircn lạc với người
dugraveng của mạng khaacutec như thể họ lagrave người dugraveng Jabber Điều nagravey coacute nghĩa lagrave bất cứ
trigravenh khaacutech nagraveo hỗ trợ đầy đủ giao thức Jabber đều coacute thể được dugraveng để truy cập bất
cứ mạng nagraveo coacute cổng kết nối magrave khocircng cần thecircm dograveng matilde lệnh nagraveo từ trigravenh khaacutech
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
Nền tảng của giao thức Jabber hiện được Tổ chức Phần mềm Jabber quản liacute
đatilde được IETF chấp nhận lagravem giao thức standards-track dưới tecircn XMPP với
RFC 3920 Noacute thường được xem lagrave đối thủ cạnh tranh với SIMPLE dựa trecircn
giao thức SIP để lagravem giao thức chuẩn cho nhắn tin nhanh vagrave thocircng baacuteo hiện
diện tuy nhiecircn thiết kế của XMPP được nhắm đến việc cung cấp caacutec tiện iacutech
trigravenh trung gian (middleware) liecircn ứng dụng vagrave mục điacutech tổng quaacutet
Người dugraveng Jabber được xaacutec định bằng tecircn người dugraveng vagrave tecircn maacutey phục vụ
caacutech nhau bằng dấu Căn cước nagravey được gọi lagrave Jabber ID hay JID
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
JID coacute dạng thức tecircn_người_dugravengtecircn_miềntagravei_nguyecircn tương tự như một địa
chỉ email
Người dugraveng Jabber coacute thể truy cập vagraveo tagravei khoản của migravenh cugraveng luacutec tại nhiều điểm
truy cập khaacutec nhau được xaacutec định qua phần tagravei_nguyecircn viacute dụ
tecircn_người_dugravengtecircn_miềncomcơ_quan vagrave tecircn_người_dugravengtecircn_miềncomnhagrave
Khocircng cần thiết chỉ định phần tagravei nguyecircn khi liecircn lạc với người dugraveng khaacutec
Tương tự như Sendmail người dugraveng Jabber coacute thể truy cập vagraveo caacutec giao thức
khaacutec qua cổng giao tiếp Jabber (Jabber Transport) viacute dụ JID của một địa chỉ lagrave
tecircn_người_dugravengmsncommsnjabberservercom
Tecircn người dugraveng trong JID dagravei tối đa 1023 kyacute tự vagrave khocircng được chứa
lt gt amp khoảng trắng vagrave kyacute tự điều khiển
JID
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Add thư viện agsXMPP vagraveo project Khai baacuteo để sử dụng
Xacircy dựng tiacutenh năng chat qua
facebook server
Để coacute thể đăng nhập vagraveo dịch vụ chat ta cần phải coacute username của người dugraveng vagrave
password Username của người dugraveng coacute thể tigravem thấy dưới dạng
Sau khi đatilde coacute username vagrave pass của người dugraveng chuacuteng ta tiến hagravenh đăng nhập
XmppClientConnection xmpp
xmpp = new XmppClientConnection(ldquochatfacebookcomrdquo)
xmppOpen(username password)
if (xmppAuthenticated == true)
Presence p = new Presence(ShowTypechat Online)pType = PresenceTypeavailable
xmppSend(p)
ThreadSleep(6000)
httpswwwfacebookcom[username]
Khai baacuteo
XAcircY DỰNG CHỨC NĂNG CHAT
Tecircn server chat
của facebookDừng lại để chờ
server xaacutec thực
Username
chỗ nagravey
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Add bạn begrave vagraveo danh saacutech chat
xmppMessageGrabberAdd(new Jid(- + friendId + chatfacebookcom)
new BareJidComparer()
new MessageCB(MessageCallBack)
null)
ID của bạn begrave
Hagravem nhận sự kiện
khi coacute tin nhắn tới
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Hagravem nhận sự kiện tin nhắn đến
void MessageCallBack(object sender Message msg object data)
if (msgBody = null)displayMessage()
Đacircy lagrave hagravem chịu traacutech
nhiệm xử liacute vagrave hiển thị tin
nhắn
Xacircy dựng tiacutenh năng chat qua
facebook server
Gửi tin nhắn đi
xmppSend(new Message(new Jid(ldquo-rdquo + friendID + chatfacebookcom)
MessageTypechat
messageBody))
Nội dung tin
nhắn gửi đi
ID của bạn begrave sẽ
nhận tin nhắn
XAcircY DỰNG CHỨC NĂNG CHAT
Xacircy dựng tiacutenh năng chat qua
facebook server Như vậy chuacuteng ta đatilde coacute thể hoagraven thagravenh được tiacutenh năng
chat facebook sử dụng thư viecircn agsxmppdll
Cảm ơn thầy vagrave caacutec
bạn đatilde quan tacircm
theo dotildei
Giới thiệu về facebook deverlopers
Giới thiệu về bộ thư viện facebookdll
Tương taacutec với facebook qua facebookdll
Xacircy dựng tiacutenh năng chat qua facebook server
Giới thiệu về facebookdeverlopers
Website httpsdevelopersfacebookcom
Website httpfacebooksdknet
Giới thiệu về facebookdeverlopers
Facebook SDK for NETFeaturesbull NuGet Packages Available (Facebook and Facebook channel)
bull Compatible with all Facebook Graph and REST API methods
bull Supports photovideo uploads
bull Supports batch requests and etags
bull Supports Facebookrsquos most current authentication systems
bull Sample applications and documentation are provided to get you started quickly
Supported Platformsbull NET 35 (Client Profile and Full Profile)
bull NET 40 (Client Profile and Full Profile)
bull NET 45
bull Windows Store Apps
bull Silverlight 5
bull Windows Phone 71
bull Windows Phone 8
Giới thiệu về facebookdeverlopers
Giới thiệu về facebook deverlopers
Giới thiệu về bộ thư viện facebookdll
Tương taacutec với facebook qua facebookdll
Xacircy dựng tiacutenh năng chat qua facebook server
Giới thiệu về bộ thư viện
facebookdllldquoThe Facebook SDK for NET binaries are only distributed via nugetVigrave vậy để sử dụng bộ thư viecircn nagravey chuacuteng ta cagravei đặt trực tiếp thocircng qua NUGET trong
Visual Studio Phiecircn bản hiện tại lagrave 642
nuget install Facebook
ldquoFor those using older versions of Visual Studio that does not support NuGet Package Manager please download the command line version of NuGetexe and run the following commandldquo
Giới thiệu về bộ thư viện
facebookdll
Giới thiệu về facebook deverlopers
Giới thiệu về bộ thư viện facebookdll
Tương taacutec với facebook qua facebookdll
Xacircy dựng tiacutenh năng chat qua facebook server
Trước tiecircn để coacute thể lagravem việc với facebook thocircng qua bộ thư viện đatilde tải
về chuacuteng ta phải tạo một app trecircn trang chủ dagravenh cho nhagrave phaacutet triển của
Truy cập httpsdevelopersfacebookcomapps
Lagravem theo caacutec hướng dẫn của facebook để đăng kiacute trở thagravenh nhagrave phaacutet triển
Tương taacutec với facebook qua
facebookdll
Tương taacutec với facebook qua
facebookdllSau khi đatilde đăng kiacute xong tiến hagravenh tạo một app theo hướng dẫn
Giữ lại AppID vagrave SecretID để sử dụng sau nagravey
Tương taacutec với facebook qua
facebookdll Class FacebookClient
Function Description
object Get() Makes a GET request to the Facebook server
object Post() Makes a POST request to the Facebook server
Uri GetLoginUrl(object parameters) Gets the Facebook OAuth login url
Uri GetLogoutUrl(object parameters)Gets the Facebook OAuth logout url
object ParseDialogCallbackUrl(Uri uri) Parses the dialog callback url to an object of the resulting data
bool TryParseOAuthCallbackUrl(Uri url out
FacebookOAuthResult facebookOAuthResult)Try parsing the url to FacebookFacebookOAuthResult
Tương taacutec với facebook qua
facebookdllFunction Description
FacebookOAuthResult ParseOAuthCallbackUrl(Uri uri) Parse the url to FacebookFacebookOAuthResult
object Delete(string path object parameters) Makes a DELETE request to the Facebook server
void CancelAsync() Cancels asynchronous requests
void VerifyGetSubscription(string requestHubMode
string requestVerifyToken string requestHubChallenge)
Verify HTTP_X_HUB_SIGNATURE for HTTP
GET
object VerifyPostSubscription(string
requestHttpXHubSignature string requestBody string
appSecret)
Verify HTTP_X_HUB_SIGNATURE for HTTP
POST
Tương taacutec với facebook qua
facebookdll VD Lấy Url login của app
bull Trước tiecircn tạo một đối tượng FacebookClient
FacebookClient _fb=new FacebookClient()
Uri _loginUrl = _fbGetLoginUrl(object parameter)
Client_id App ID
redirect_uri Địa chỉ trang web trả về khi yecircu cầu thagravenh
cocircng
scope Phạm vi truy xuất thocircng tin của ứng dụng
display Caacutech thức trigravenh bagravey trang login
response_type Kiểu đối tượng trả về
parameterVd Uri _loginUrl=_fbGetLoginUrl(new
client_id = _appID
redirect_uri = _redirectUri
scope=ldquouser_about_me publish_streamrdquo
display=ldquopopuprdquo
Response_type=ldquotokenrdquo
)
bull Yecircu cầu url login sử dụng hagravem
Tương taacutec với facebook qua
facebookdll VD Đăng nhập facebook bằng loginUrl đatilde coacute
WebBrowser loginBrowser = new WebBrowser()logiBrowserNavigate(_loginUrl)
bull Kiểm tra đăng nhập vagrave nhận AccessToken
bull Tạo một đối tượng WebBrowser
void loginBrower_navigated(object sender NavigationEventArgs e)
FacebookOAuthResult _resultif(_fbTryParseOAuthCallbackUri(euri _result)
_accessToken=_resultAccessToken
Tương taacutec với facebook qua
facebookdll Hagravem Get
Function Description
virtual object Get(string path) Makes a GET request to the Facebook server
virtual object Get(string path object parameters) Makes a GET request to the Facebook server
virtual object Get(string path object parameters
Type resultType)Makes a GET request to the Facebook server
virtual void GetAsync(string path object parameters
object userState)
Makes an asynchronous GET request to the Facebook
server
VD Lấy thocircng tin người dugraveng
bull Để lấy thocircng tin người dugraveng ta sử dụng hagravem Get
_fbGet(string path)
VD var info=_fbGet(ldquomerdquo)
Tương taacutec với facebook qua
facebookdll
VD Lấy danh saacutech bạn begrave
bull Để lấy danh saacutech bạn begrave ta sử dụng hagravem Get
_fbGet(string path)
VD var info=_fbGet(ldquomefriendsrdquo)
Tương taacutec với facebook qua
facebookdll
VD Lấy danh saacutech bạn begrave online
bull Để lấy danh saacutech bạn begrave online ta sử dụng hagravem Get
_fbGet(string path object parameters)
VD
Tương taacutec với facebook qua
facebookdll
VD Lấy danh saacutech Albums của người dugraveng
bull Để lấy danh saacutech album ta dugraveng hagravem
_fbGet(string path)
VD var info=_fbGet(ldquomealbumsrdquo)
Tương taacutec với facebook qua
facebookdll
Hagravem Post
Function Description
virtual object Post(object parameters) Makes a POST request to the Facebook server
virtual object Post(string path object parameters) Makes a POST request to the Facebook server
virtual void PostAsync(object parameters)Makes an asynchronous POST request to the
Facebook server
virtual Taskltobjectgt PostTaskAsync(string path
object parameters)
Makes an asynchronous POST request to the
Facebook server
Tương taacutec với facebook qua
facebookdll
VD Post 1 status lecircn tường
bull Để post status lecircn trang chủ ta sử dụng hagravem Post
_fbPost(string Path object parameter)
VD
Tương taacutec với facebook qua
facebookdll
VD Post 1 higravenh lecircn tường
bull Để post higravenh lecircn trang chủ ta sử dụng hagravem Post
_fbPost(string Path object parameter)
VD
Tương taacutec với facebook qua
facebookdll
Giới thiệu về facebook deverlopers
Giới thiệu về bộ thư viện facebookdll
Tương taacutec với facebook qua facebookdll
Xacircy dựng tiacutenh năng chat qua facebook server
Xacircy dựng tiacutenh năng chat qua
facebook server
Chuacuteng ta sử dụng bộ thư viện agsxmppdll do cocircng ty AG-Software cung cấp
Đacircy lagrave một bộ thư viện được cung cấp miễn phiacute vagrave dựa trecircn phương thức
xmpp
VẤN ĐỀ
Bộ thư viecircn facebookdll khocircng hỗ trợ việc xacircy dựng tiacutenh năng chat
Phiacutea Facebook khocircng hỗ trợ caacutec hagravem API để xacircy dựng tiacutenh năng
chat magrave chỉ hỗ trợ xacircy dựng tiacutenh năng chat thocircng qua giao thức
xmpp (Extensible Messaging and Presence Protocol)
GIẢI PHAacuteP
Link download bộ thư viện agsxmppdll
httpwwwag-softwarenetagsxmpp-sdk
Xacircy dựng tiacutenh năng chat qua
facebook server
Extensible Messaging and Presence Protocol (XMPP) trước đacircy lagrave Jabber lagrave
giao thức mở vagrave dựa trecircn nền tảng XML dugraveng trong nhắn tin nhanh (instant
messaging) vagrave thocircng tin hiện diện trực tuyến (presence information) Theo Hội
Tiecircu chuẩn XMPP (XMPP Standards Foundation trước đacircy lagrave Jabber Software
Foundation JSF) phần mềm dựa trecircn Jabber được triển khai tại hagraveng ngagraven maacutey
phục vụ trecircn Internet vagrave được hơn 10 triệu người trecircn khắp thế giới sử dụng
Jeremie Miller khởi đầu dự aacuten vagraveo năm 1998 phiecircn bản đầu tiecircn được cocircng bố
vagraveo thaacuteng năm 2000 Sản phẩm chiacutenh của dự aacuten lagrave jabberd một trigravenh phục vụ
(server) để từ đoacute caacutec trigravenh khaacutech (client) kết nối đến vagrave trao đổi tin nhắn Trigravenh
phục vụ nagravey coacute thể tạo mạng Jabber riecircng tư (như sau tường lửa) hoặc coacute thể tham
gia vagraveo mạng Jabber cocircng cộng toagraven cầu Đặc tiacutenh cốt lotildei của Jabber lagrave bản chất
của hệ thống tin nhắn nhanh phacircn taacuten vagrave việc sử dụng streaming XML
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
Điểm đặc trưng của hệ thống Jabber lagrave noacute coacute caacutec transport cograven được gọi lagrave
gateway (cổng) cho pheacutep người dugraveng truy cập mạng với caacutec giao thức khaacutec - như
AIM vagrave ICQ (dugraveng OSCAR) MSN Messenger vagrave Windows Messenger (dugraveng Dịch
vụ nhắn tin NET - NET Messenger Service) Yahoo Messenger SMS hay E-mail
Khocircng như caacutec trigravenh khaacutech đa giao thức như Trillian hay Gaim việc truy cập đến
caacutec giao thức khaacutec được Jabber cung cấp ở cấp độ trigravenh phục vụ bằng caacutech truyền
thocircng tin qua caacutec dịch vụ cổng đặc biệt chạy trecircn một maacutey tiacutenh ở xa Bất cứ người
dugraveng nagraveo cũng coacute thể đăng kiacute với một trong caacutec cổng nagravey bằng caacutech cung cấp
thocircng tin cần thiết để đăng nhập vagraveo mạng đoacute vagrave từ đoacute coacute thể liecircn lạc với người
dugraveng của mạng khaacutec như thể họ lagrave người dugraveng Jabber Điều nagravey coacute nghĩa lagrave bất cứ
trigravenh khaacutech nagraveo hỗ trợ đầy đủ giao thức Jabber đều coacute thể được dugraveng để truy cập bất
cứ mạng nagraveo coacute cổng kết nối magrave khocircng cần thecircm dograveng matilde lệnh nagraveo từ trigravenh khaacutech
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
Nền tảng của giao thức Jabber hiện được Tổ chức Phần mềm Jabber quản liacute
đatilde được IETF chấp nhận lagravem giao thức standards-track dưới tecircn XMPP với
RFC 3920 Noacute thường được xem lagrave đối thủ cạnh tranh với SIMPLE dựa trecircn
giao thức SIP để lagravem giao thức chuẩn cho nhắn tin nhanh vagrave thocircng baacuteo hiện
diện tuy nhiecircn thiết kế của XMPP được nhắm đến việc cung cấp caacutec tiện iacutech
trigravenh trung gian (middleware) liecircn ứng dụng vagrave mục điacutech tổng quaacutet
Người dugraveng Jabber được xaacutec định bằng tecircn người dugraveng vagrave tecircn maacutey phục vụ
caacutech nhau bằng dấu Căn cước nagravey được gọi lagrave Jabber ID hay JID
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
JID coacute dạng thức tecircn_người_dugravengtecircn_miềntagravei_nguyecircn tương tự như một địa
chỉ email
Người dugraveng Jabber coacute thể truy cập vagraveo tagravei khoản của migravenh cugraveng luacutec tại nhiều điểm
truy cập khaacutec nhau được xaacutec định qua phần tagravei_nguyecircn viacute dụ
tecircn_người_dugravengtecircn_miềncomcơ_quan vagrave tecircn_người_dugravengtecircn_miềncomnhagrave
Khocircng cần thiết chỉ định phần tagravei nguyecircn khi liecircn lạc với người dugraveng khaacutec
Tương tự như Sendmail người dugraveng Jabber coacute thể truy cập vagraveo caacutec giao thức
khaacutec qua cổng giao tiếp Jabber (Jabber Transport) viacute dụ JID của một địa chỉ lagrave
tecircn_người_dugravengmsncommsnjabberservercom
Tecircn người dugraveng trong JID dagravei tối đa 1023 kyacute tự vagrave khocircng được chứa
lt gt amp khoảng trắng vagrave kyacute tự điều khiển
JID
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Add thư viện agsXMPP vagraveo project Khai baacuteo để sử dụng
Xacircy dựng tiacutenh năng chat qua
facebook server
Để coacute thể đăng nhập vagraveo dịch vụ chat ta cần phải coacute username của người dugraveng vagrave
password Username của người dugraveng coacute thể tigravem thấy dưới dạng
Sau khi đatilde coacute username vagrave pass của người dugraveng chuacuteng ta tiến hagravenh đăng nhập
XmppClientConnection xmpp
xmpp = new XmppClientConnection(ldquochatfacebookcomrdquo)
xmppOpen(username password)
if (xmppAuthenticated == true)
Presence p = new Presence(ShowTypechat Online)pType = PresenceTypeavailable
xmppSend(p)
ThreadSleep(6000)
httpswwwfacebookcom[username]
Khai baacuteo
XAcircY DỰNG CHỨC NĂNG CHAT
Tecircn server chat
của facebookDừng lại để chờ
server xaacutec thực
Username
chỗ nagravey
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Add bạn begrave vagraveo danh saacutech chat
xmppMessageGrabberAdd(new Jid(- + friendId + chatfacebookcom)
new BareJidComparer()
new MessageCB(MessageCallBack)
null)
ID của bạn begrave
Hagravem nhận sự kiện
khi coacute tin nhắn tới
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Hagravem nhận sự kiện tin nhắn đến
void MessageCallBack(object sender Message msg object data)
if (msgBody = null)displayMessage()
Đacircy lagrave hagravem chịu traacutech
nhiệm xử liacute vagrave hiển thị tin
nhắn
Xacircy dựng tiacutenh năng chat qua
facebook server
Gửi tin nhắn đi
xmppSend(new Message(new Jid(ldquo-rdquo + friendID + chatfacebookcom)
MessageTypechat
messageBody))
Nội dung tin
nhắn gửi đi
ID của bạn begrave sẽ
nhận tin nhắn
XAcircY DỰNG CHỨC NĂNG CHAT
Xacircy dựng tiacutenh năng chat qua
facebook server Như vậy chuacuteng ta đatilde coacute thể hoagraven thagravenh được tiacutenh năng
chat facebook sử dụng thư viecircn agsxmppdll
Cảm ơn thầy vagrave caacutec
bạn đatilde quan tacircm
theo dotildei
Giới thiệu về facebookdeverlopers
Website httpsdevelopersfacebookcom
Website httpfacebooksdknet
Giới thiệu về facebookdeverlopers
Facebook SDK for NETFeaturesbull NuGet Packages Available (Facebook and Facebook channel)
bull Compatible with all Facebook Graph and REST API methods
bull Supports photovideo uploads
bull Supports batch requests and etags
bull Supports Facebookrsquos most current authentication systems
bull Sample applications and documentation are provided to get you started quickly
Supported Platformsbull NET 35 (Client Profile and Full Profile)
bull NET 40 (Client Profile and Full Profile)
bull NET 45
bull Windows Store Apps
bull Silverlight 5
bull Windows Phone 71
bull Windows Phone 8
Giới thiệu về facebookdeverlopers
Giới thiệu về facebook deverlopers
Giới thiệu về bộ thư viện facebookdll
Tương taacutec với facebook qua facebookdll
Xacircy dựng tiacutenh năng chat qua facebook server
Giới thiệu về bộ thư viện
facebookdllldquoThe Facebook SDK for NET binaries are only distributed via nugetVigrave vậy để sử dụng bộ thư viecircn nagravey chuacuteng ta cagravei đặt trực tiếp thocircng qua NUGET trong
Visual Studio Phiecircn bản hiện tại lagrave 642
nuget install Facebook
ldquoFor those using older versions of Visual Studio that does not support NuGet Package Manager please download the command line version of NuGetexe and run the following commandldquo
Giới thiệu về bộ thư viện
facebookdll
Giới thiệu về facebook deverlopers
Giới thiệu về bộ thư viện facebookdll
Tương taacutec với facebook qua facebookdll
Xacircy dựng tiacutenh năng chat qua facebook server
Trước tiecircn để coacute thể lagravem việc với facebook thocircng qua bộ thư viện đatilde tải
về chuacuteng ta phải tạo một app trecircn trang chủ dagravenh cho nhagrave phaacutet triển của
Truy cập httpsdevelopersfacebookcomapps
Lagravem theo caacutec hướng dẫn của facebook để đăng kiacute trở thagravenh nhagrave phaacutet triển
Tương taacutec với facebook qua
facebookdll
Tương taacutec với facebook qua
facebookdllSau khi đatilde đăng kiacute xong tiến hagravenh tạo một app theo hướng dẫn
Giữ lại AppID vagrave SecretID để sử dụng sau nagravey
Tương taacutec với facebook qua
facebookdll Class FacebookClient
Function Description
object Get() Makes a GET request to the Facebook server
object Post() Makes a POST request to the Facebook server
Uri GetLoginUrl(object parameters) Gets the Facebook OAuth login url
Uri GetLogoutUrl(object parameters)Gets the Facebook OAuth logout url
object ParseDialogCallbackUrl(Uri uri) Parses the dialog callback url to an object of the resulting data
bool TryParseOAuthCallbackUrl(Uri url out
FacebookOAuthResult facebookOAuthResult)Try parsing the url to FacebookFacebookOAuthResult
Tương taacutec với facebook qua
facebookdllFunction Description
FacebookOAuthResult ParseOAuthCallbackUrl(Uri uri) Parse the url to FacebookFacebookOAuthResult
object Delete(string path object parameters) Makes a DELETE request to the Facebook server
void CancelAsync() Cancels asynchronous requests
void VerifyGetSubscription(string requestHubMode
string requestVerifyToken string requestHubChallenge)
Verify HTTP_X_HUB_SIGNATURE for HTTP
GET
object VerifyPostSubscription(string
requestHttpXHubSignature string requestBody string
appSecret)
Verify HTTP_X_HUB_SIGNATURE for HTTP
POST
Tương taacutec với facebook qua
facebookdll VD Lấy Url login của app
bull Trước tiecircn tạo một đối tượng FacebookClient
FacebookClient _fb=new FacebookClient()
Uri _loginUrl = _fbGetLoginUrl(object parameter)
Client_id App ID
redirect_uri Địa chỉ trang web trả về khi yecircu cầu thagravenh
cocircng
scope Phạm vi truy xuất thocircng tin của ứng dụng
display Caacutech thức trigravenh bagravey trang login
response_type Kiểu đối tượng trả về
parameterVd Uri _loginUrl=_fbGetLoginUrl(new
client_id = _appID
redirect_uri = _redirectUri
scope=ldquouser_about_me publish_streamrdquo
display=ldquopopuprdquo
Response_type=ldquotokenrdquo
)
bull Yecircu cầu url login sử dụng hagravem
Tương taacutec với facebook qua
facebookdll VD Đăng nhập facebook bằng loginUrl đatilde coacute
WebBrowser loginBrowser = new WebBrowser()logiBrowserNavigate(_loginUrl)
bull Kiểm tra đăng nhập vagrave nhận AccessToken
bull Tạo một đối tượng WebBrowser
void loginBrower_navigated(object sender NavigationEventArgs e)
FacebookOAuthResult _resultif(_fbTryParseOAuthCallbackUri(euri _result)
_accessToken=_resultAccessToken
Tương taacutec với facebook qua
facebookdll Hagravem Get
Function Description
virtual object Get(string path) Makes a GET request to the Facebook server
virtual object Get(string path object parameters) Makes a GET request to the Facebook server
virtual object Get(string path object parameters
Type resultType)Makes a GET request to the Facebook server
virtual void GetAsync(string path object parameters
object userState)
Makes an asynchronous GET request to the Facebook
server
VD Lấy thocircng tin người dugraveng
bull Để lấy thocircng tin người dugraveng ta sử dụng hagravem Get
_fbGet(string path)
VD var info=_fbGet(ldquomerdquo)
Tương taacutec với facebook qua
facebookdll
VD Lấy danh saacutech bạn begrave
bull Để lấy danh saacutech bạn begrave ta sử dụng hagravem Get
_fbGet(string path)
VD var info=_fbGet(ldquomefriendsrdquo)
Tương taacutec với facebook qua
facebookdll
VD Lấy danh saacutech bạn begrave online
bull Để lấy danh saacutech bạn begrave online ta sử dụng hagravem Get
_fbGet(string path object parameters)
VD
Tương taacutec với facebook qua
facebookdll
VD Lấy danh saacutech Albums của người dugraveng
bull Để lấy danh saacutech album ta dugraveng hagravem
_fbGet(string path)
VD var info=_fbGet(ldquomealbumsrdquo)
Tương taacutec với facebook qua
facebookdll
Hagravem Post
Function Description
virtual object Post(object parameters) Makes a POST request to the Facebook server
virtual object Post(string path object parameters) Makes a POST request to the Facebook server
virtual void PostAsync(object parameters)Makes an asynchronous POST request to the
Facebook server
virtual Taskltobjectgt PostTaskAsync(string path
object parameters)
Makes an asynchronous POST request to the
Facebook server
Tương taacutec với facebook qua
facebookdll
VD Post 1 status lecircn tường
bull Để post status lecircn trang chủ ta sử dụng hagravem Post
_fbPost(string Path object parameter)
VD
Tương taacutec với facebook qua
facebookdll
VD Post 1 higravenh lecircn tường
bull Để post higravenh lecircn trang chủ ta sử dụng hagravem Post
_fbPost(string Path object parameter)
VD
Tương taacutec với facebook qua
facebookdll
Giới thiệu về facebook deverlopers
Giới thiệu về bộ thư viện facebookdll
Tương taacutec với facebook qua facebookdll
Xacircy dựng tiacutenh năng chat qua facebook server
Xacircy dựng tiacutenh năng chat qua
facebook server
Chuacuteng ta sử dụng bộ thư viện agsxmppdll do cocircng ty AG-Software cung cấp
Đacircy lagrave một bộ thư viện được cung cấp miễn phiacute vagrave dựa trecircn phương thức
xmpp
VẤN ĐỀ
Bộ thư viecircn facebookdll khocircng hỗ trợ việc xacircy dựng tiacutenh năng chat
Phiacutea Facebook khocircng hỗ trợ caacutec hagravem API để xacircy dựng tiacutenh năng
chat magrave chỉ hỗ trợ xacircy dựng tiacutenh năng chat thocircng qua giao thức
xmpp (Extensible Messaging and Presence Protocol)
GIẢI PHAacuteP
Link download bộ thư viện agsxmppdll
httpwwwag-softwarenetagsxmpp-sdk
Xacircy dựng tiacutenh năng chat qua
facebook server
Extensible Messaging and Presence Protocol (XMPP) trước đacircy lagrave Jabber lagrave
giao thức mở vagrave dựa trecircn nền tảng XML dugraveng trong nhắn tin nhanh (instant
messaging) vagrave thocircng tin hiện diện trực tuyến (presence information) Theo Hội
Tiecircu chuẩn XMPP (XMPP Standards Foundation trước đacircy lagrave Jabber Software
Foundation JSF) phần mềm dựa trecircn Jabber được triển khai tại hagraveng ngagraven maacutey
phục vụ trecircn Internet vagrave được hơn 10 triệu người trecircn khắp thế giới sử dụng
Jeremie Miller khởi đầu dự aacuten vagraveo năm 1998 phiecircn bản đầu tiecircn được cocircng bố
vagraveo thaacuteng năm 2000 Sản phẩm chiacutenh của dự aacuten lagrave jabberd một trigravenh phục vụ
(server) để từ đoacute caacutec trigravenh khaacutech (client) kết nối đến vagrave trao đổi tin nhắn Trigravenh
phục vụ nagravey coacute thể tạo mạng Jabber riecircng tư (như sau tường lửa) hoặc coacute thể tham
gia vagraveo mạng Jabber cocircng cộng toagraven cầu Đặc tiacutenh cốt lotildei của Jabber lagrave bản chất
của hệ thống tin nhắn nhanh phacircn taacuten vagrave việc sử dụng streaming XML
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
Điểm đặc trưng của hệ thống Jabber lagrave noacute coacute caacutec transport cograven được gọi lagrave
gateway (cổng) cho pheacutep người dugraveng truy cập mạng với caacutec giao thức khaacutec - như
AIM vagrave ICQ (dugraveng OSCAR) MSN Messenger vagrave Windows Messenger (dugraveng Dịch
vụ nhắn tin NET - NET Messenger Service) Yahoo Messenger SMS hay E-mail
Khocircng như caacutec trigravenh khaacutech đa giao thức như Trillian hay Gaim việc truy cập đến
caacutec giao thức khaacutec được Jabber cung cấp ở cấp độ trigravenh phục vụ bằng caacutech truyền
thocircng tin qua caacutec dịch vụ cổng đặc biệt chạy trecircn một maacutey tiacutenh ở xa Bất cứ người
dugraveng nagraveo cũng coacute thể đăng kiacute với một trong caacutec cổng nagravey bằng caacutech cung cấp
thocircng tin cần thiết để đăng nhập vagraveo mạng đoacute vagrave từ đoacute coacute thể liecircn lạc với người
dugraveng của mạng khaacutec như thể họ lagrave người dugraveng Jabber Điều nagravey coacute nghĩa lagrave bất cứ
trigravenh khaacutech nagraveo hỗ trợ đầy đủ giao thức Jabber đều coacute thể được dugraveng để truy cập bất
cứ mạng nagraveo coacute cổng kết nối magrave khocircng cần thecircm dograveng matilde lệnh nagraveo từ trigravenh khaacutech
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
Nền tảng của giao thức Jabber hiện được Tổ chức Phần mềm Jabber quản liacute
đatilde được IETF chấp nhận lagravem giao thức standards-track dưới tecircn XMPP với
RFC 3920 Noacute thường được xem lagrave đối thủ cạnh tranh với SIMPLE dựa trecircn
giao thức SIP để lagravem giao thức chuẩn cho nhắn tin nhanh vagrave thocircng baacuteo hiện
diện tuy nhiecircn thiết kế của XMPP được nhắm đến việc cung cấp caacutec tiện iacutech
trigravenh trung gian (middleware) liecircn ứng dụng vagrave mục điacutech tổng quaacutet
Người dugraveng Jabber được xaacutec định bằng tecircn người dugraveng vagrave tecircn maacutey phục vụ
caacutech nhau bằng dấu Căn cước nagravey được gọi lagrave Jabber ID hay JID
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
JID coacute dạng thức tecircn_người_dugravengtecircn_miềntagravei_nguyecircn tương tự như một địa
chỉ email
Người dugraveng Jabber coacute thể truy cập vagraveo tagravei khoản của migravenh cugraveng luacutec tại nhiều điểm
truy cập khaacutec nhau được xaacutec định qua phần tagravei_nguyecircn viacute dụ
tecircn_người_dugravengtecircn_miềncomcơ_quan vagrave tecircn_người_dugravengtecircn_miềncomnhagrave
Khocircng cần thiết chỉ định phần tagravei nguyecircn khi liecircn lạc với người dugraveng khaacutec
Tương tự như Sendmail người dugraveng Jabber coacute thể truy cập vagraveo caacutec giao thức
khaacutec qua cổng giao tiếp Jabber (Jabber Transport) viacute dụ JID của một địa chỉ lagrave
tecircn_người_dugravengmsncommsnjabberservercom
Tecircn người dugraveng trong JID dagravei tối đa 1023 kyacute tự vagrave khocircng được chứa
lt gt amp khoảng trắng vagrave kyacute tự điều khiển
JID
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Add thư viện agsXMPP vagraveo project Khai baacuteo để sử dụng
Xacircy dựng tiacutenh năng chat qua
facebook server
Để coacute thể đăng nhập vagraveo dịch vụ chat ta cần phải coacute username của người dugraveng vagrave
password Username của người dugraveng coacute thể tigravem thấy dưới dạng
Sau khi đatilde coacute username vagrave pass của người dugraveng chuacuteng ta tiến hagravenh đăng nhập
XmppClientConnection xmpp
xmpp = new XmppClientConnection(ldquochatfacebookcomrdquo)
xmppOpen(username password)
if (xmppAuthenticated == true)
Presence p = new Presence(ShowTypechat Online)pType = PresenceTypeavailable
xmppSend(p)
ThreadSleep(6000)
httpswwwfacebookcom[username]
Khai baacuteo
XAcircY DỰNG CHỨC NĂNG CHAT
Tecircn server chat
của facebookDừng lại để chờ
server xaacutec thực
Username
chỗ nagravey
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Add bạn begrave vagraveo danh saacutech chat
xmppMessageGrabberAdd(new Jid(- + friendId + chatfacebookcom)
new BareJidComparer()
new MessageCB(MessageCallBack)
null)
ID của bạn begrave
Hagravem nhận sự kiện
khi coacute tin nhắn tới
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Hagravem nhận sự kiện tin nhắn đến
void MessageCallBack(object sender Message msg object data)
if (msgBody = null)displayMessage()
Đacircy lagrave hagravem chịu traacutech
nhiệm xử liacute vagrave hiển thị tin
nhắn
Xacircy dựng tiacutenh năng chat qua
facebook server
Gửi tin nhắn đi
xmppSend(new Message(new Jid(ldquo-rdquo + friendID + chatfacebookcom)
MessageTypechat
messageBody))
Nội dung tin
nhắn gửi đi
ID của bạn begrave sẽ
nhận tin nhắn
XAcircY DỰNG CHỨC NĂNG CHAT
Xacircy dựng tiacutenh năng chat qua
facebook server Như vậy chuacuteng ta đatilde coacute thể hoagraven thagravenh được tiacutenh năng
chat facebook sử dụng thư viecircn agsxmppdll
Cảm ơn thầy vagrave caacutec
bạn đatilde quan tacircm
theo dotildei
Website httpfacebooksdknet
Giới thiệu về facebookdeverlopers
Facebook SDK for NETFeaturesbull NuGet Packages Available (Facebook and Facebook channel)
bull Compatible with all Facebook Graph and REST API methods
bull Supports photovideo uploads
bull Supports batch requests and etags
bull Supports Facebookrsquos most current authentication systems
bull Sample applications and documentation are provided to get you started quickly
Supported Platformsbull NET 35 (Client Profile and Full Profile)
bull NET 40 (Client Profile and Full Profile)
bull NET 45
bull Windows Store Apps
bull Silverlight 5
bull Windows Phone 71
bull Windows Phone 8
Giới thiệu về facebookdeverlopers
Giới thiệu về facebook deverlopers
Giới thiệu về bộ thư viện facebookdll
Tương taacutec với facebook qua facebookdll
Xacircy dựng tiacutenh năng chat qua facebook server
Giới thiệu về bộ thư viện
facebookdllldquoThe Facebook SDK for NET binaries are only distributed via nugetVigrave vậy để sử dụng bộ thư viecircn nagravey chuacuteng ta cagravei đặt trực tiếp thocircng qua NUGET trong
Visual Studio Phiecircn bản hiện tại lagrave 642
nuget install Facebook
ldquoFor those using older versions of Visual Studio that does not support NuGet Package Manager please download the command line version of NuGetexe and run the following commandldquo
Giới thiệu về bộ thư viện
facebookdll
Giới thiệu về facebook deverlopers
Giới thiệu về bộ thư viện facebookdll
Tương taacutec với facebook qua facebookdll
Xacircy dựng tiacutenh năng chat qua facebook server
Trước tiecircn để coacute thể lagravem việc với facebook thocircng qua bộ thư viện đatilde tải
về chuacuteng ta phải tạo một app trecircn trang chủ dagravenh cho nhagrave phaacutet triển của
Truy cập httpsdevelopersfacebookcomapps
Lagravem theo caacutec hướng dẫn của facebook để đăng kiacute trở thagravenh nhagrave phaacutet triển
Tương taacutec với facebook qua
facebookdll
Tương taacutec với facebook qua
facebookdllSau khi đatilde đăng kiacute xong tiến hagravenh tạo một app theo hướng dẫn
Giữ lại AppID vagrave SecretID để sử dụng sau nagravey
Tương taacutec với facebook qua
facebookdll Class FacebookClient
Function Description
object Get() Makes a GET request to the Facebook server
object Post() Makes a POST request to the Facebook server
Uri GetLoginUrl(object parameters) Gets the Facebook OAuth login url
Uri GetLogoutUrl(object parameters)Gets the Facebook OAuth logout url
object ParseDialogCallbackUrl(Uri uri) Parses the dialog callback url to an object of the resulting data
bool TryParseOAuthCallbackUrl(Uri url out
FacebookOAuthResult facebookOAuthResult)Try parsing the url to FacebookFacebookOAuthResult
Tương taacutec với facebook qua
facebookdllFunction Description
FacebookOAuthResult ParseOAuthCallbackUrl(Uri uri) Parse the url to FacebookFacebookOAuthResult
object Delete(string path object parameters) Makes a DELETE request to the Facebook server
void CancelAsync() Cancels asynchronous requests
void VerifyGetSubscription(string requestHubMode
string requestVerifyToken string requestHubChallenge)
Verify HTTP_X_HUB_SIGNATURE for HTTP
GET
object VerifyPostSubscription(string
requestHttpXHubSignature string requestBody string
appSecret)
Verify HTTP_X_HUB_SIGNATURE for HTTP
POST
Tương taacutec với facebook qua
facebookdll VD Lấy Url login của app
bull Trước tiecircn tạo một đối tượng FacebookClient
FacebookClient _fb=new FacebookClient()
Uri _loginUrl = _fbGetLoginUrl(object parameter)
Client_id App ID
redirect_uri Địa chỉ trang web trả về khi yecircu cầu thagravenh
cocircng
scope Phạm vi truy xuất thocircng tin của ứng dụng
display Caacutech thức trigravenh bagravey trang login
response_type Kiểu đối tượng trả về
parameterVd Uri _loginUrl=_fbGetLoginUrl(new
client_id = _appID
redirect_uri = _redirectUri
scope=ldquouser_about_me publish_streamrdquo
display=ldquopopuprdquo
Response_type=ldquotokenrdquo
)
bull Yecircu cầu url login sử dụng hagravem
Tương taacutec với facebook qua
facebookdll VD Đăng nhập facebook bằng loginUrl đatilde coacute
WebBrowser loginBrowser = new WebBrowser()logiBrowserNavigate(_loginUrl)
bull Kiểm tra đăng nhập vagrave nhận AccessToken
bull Tạo một đối tượng WebBrowser
void loginBrower_navigated(object sender NavigationEventArgs e)
FacebookOAuthResult _resultif(_fbTryParseOAuthCallbackUri(euri _result)
_accessToken=_resultAccessToken
Tương taacutec với facebook qua
facebookdll Hagravem Get
Function Description
virtual object Get(string path) Makes a GET request to the Facebook server
virtual object Get(string path object parameters) Makes a GET request to the Facebook server
virtual object Get(string path object parameters
Type resultType)Makes a GET request to the Facebook server
virtual void GetAsync(string path object parameters
object userState)
Makes an asynchronous GET request to the Facebook
server
VD Lấy thocircng tin người dugraveng
bull Để lấy thocircng tin người dugraveng ta sử dụng hagravem Get
_fbGet(string path)
VD var info=_fbGet(ldquomerdquo)
Tương taacutec với facebook qua
facebookdll
VD Lấy danh saacutech bạn begrave
bull Để lấy danh saacutech bạn begrave ta sử dụng hagravem Get
_fbGet(string path)
VD var info=_fbGet(ldquomefriendsrdquo)
Tương taacutec với facebook qua
facebookdll
VD Lấy danh saacutech bạn begrave online
bull Để lấy danh saacutech bạn begrave online ta sử dụng hagravem Get
_fbGet(string path object parameters)
VD
Tương taacutec với facebook qua
facebookdll
VD Lấy danh saacutech Albums của người dugraveng
bull Để lấy danh saacutech album ta dugraveng hagravem
_fbGet(string path)
VD var info=_fbGet(ldquomealbumsrdquo)
Tương taacutec với facebook qua
facebookdll
Hagravem Post
Function Description
virtual object Post(object parameters) Makes a POST request to the Facebook server
virtual object Post(string path object parameters) Makes a POST request to the Facebook server
virtual void PostAsync(object parameters)Makes an asynchronous POST request to the
Facebook server
virtual Taskltobjectgt PostTaskAsync(string path
object parameters)
Makes an asynchronous POST request to the
Facebook server
Tương taacutec với facebook qua
facebookdll
VD Post 1 status lecircn tường
bull Để post status lecircn trang chủ ta sử dụng hagravem Post
_fbPost(string Path object parameter)
VD
Tương taacutec với facebook qua
facebookdll
VD Post 1 higravenh lecircn tường
bull Để post higravenh lecircn trang chủ ta sử dụng hagravem Post
_fbPost(string Path object parameter)
VD
Tương taacutec với facebook qua
facebookdll
Giới thiệu về facebook deverlopers
Giới thiệu về bộ thư viện facebookdll
Tương taacutec với facebook qua facebookdll
Xacircy dựng tiacutenh năng chat qua facebook server
Xacircy dựng tiacutenh năng chat qua
facebook server
Chuacuteng ta sử dụng bộ thư viện agsxmppdll do cocircng ty AG-Software cung cấp
Đacircy lagrave một bộ thư viện được cung cấp miễn phiacute vagrave dựa trecircn phương thức
xmpp
VẤN ĐỀ
Bộ thư viecircn facebookdll khocircng hỗ trợ việc xacircy dựng tiacutenh năng chat
Phiacutea Facebook khocircng hỗ trợ caacutec hagravem API để xacircy dựng tiacutenh năng
chat magrave chỉ hỗ trợ xacircy dựng tiacutenh năng chat thocircng qua giao thức
xmpp (Extensible Messaging and Presence Protocol)
GIẢI PHAacuteP
Link download bộ thư viện agsxmppdll
httpwwwag-softwarenetagsxmpp-sdk
Xacircy dựng tiacutenh năng chat qua
facebook server
Extensible Messaging and Presence Protocol (XMPP) trước đacircy lagrave Jabber lagrave
giao thức mở vagrave dựa trecircn nền tảng XML dugraveng trong nhắn tin nhanh (instant
messaging) vagrave thocircng tin hiện diện trực tuyến (presence information) Theo Hội
Tiecircu chuẩn XMPP (XMPP Standards Foundation trước đacircy lagrave Jabber Software
Foundation JSF) phần mềm dựa trecircn Jabber được triển khai tại hagraveng ngagraven maacutey
phục vụ trecircn Internet vagrave được hơn 10 triệu người trecircn khắp thế giới sử dụng
Jeremie Miller khởi đầu dự aacuten vagraveo năm 1998 phiecircn bản đầu tiecircn được cocircng bố
vagraveo thaacuteng năm 2000 Sản phẩm chiacutenh của dự aacuten lagrave jabberd một trigravenh phục vụ
(server) để từ đoacute caacutec trigravenh khaacutech (client) kết nối đến vagrave trao đổi tin nhắn Trigravenh
phục vụ nagravey coacute thể tạo mạng Jabber riecircng tư (như sau tường lửa) hoặc coacute thể tham
gia vagraveo mạng Jabber cocircng cộng toagraven cầu Đặc tiacutenh cốt lotildei của Jabber lagrave bản chất
của hệ thống tin nhắn nhanh phacircn taacuten vagrave việc sử dụng streaming XML
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
Điểm đặc trưng của hệ thống Jabber lagrave noacute coacute caacutec transport cograven được gọi lagrave
gateway (cổng) cho pheacutep người dugraveng truy cập mạng với caacutec giao thức khaacutec - như
AIM vagrave ICQ (dugraveng OSCAR) MSN Messenger vagrave Windows Messenger (dugraveng Dịch
vụ nhắn tin NET - NET Messenger Service) Yahoo Messenger SMS hay E-mail
Khocircng như caacutec trigravenh khaacutech đa giao thức như Trillian hay Gaim việc truy cập đến
caacutec giao thức khaacutec được Jabber cung cấp ở cấp độ trigravenh phục vụ bằng caacutech truyền
thocircng tin qua caacutec dịch vụ cổng đặc biệt chạy trecircn một maacutey tiacutenh ở xa Bất cứ người
dugraveng nagraveo cũng coacute thể đăng kiacute với một trong caacutec cổng nagravey bằng caacutech cung cấp
thocircng tin cần thiết để đăng nhập vagraveo mạng đoacute vagrave từ đoacute coacute thể liecircn lạc với người
dugraveng của mạng khaacutec như thể họ lagrave người dugraveng Jabber Điều nagravey coacute nghĩa lagrave bất cứ
trigravenh khaacutech nagraveo hỗ trợ đầy đủ giao thức Jabber đều coacute thể được dugraveng để truy cập bất
cứ mạng nagraveo coacute cổng kết nối magrave khocircng cần thecircm dograveng matilde lệnh nagraveo từ trigravenh khaacutech
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
Nền tảng của giao thức Jabber hiện được Tổ chức Phần mềm Jabber quản liacute
đatilde được IETF chấp nhận lagravem giao thức standards-track dưới tecircn XMPP với
RFC 3920 Noacute thường được xem lagrave đối thủ cạnh tranh với SIMPLE dựa trecircn
giao thức SIP để lagravem giao thức chuẩn cho nhắn tin nhanh vagrave thocircng baacuteo hiện
diện tuy nhiecircn thiết kế của XMPP được nhắm đến việc cung cấp caacutec tiện iacutech
trigravenh trung gian (middleware) liecircn ứng dụng vagrave mục điacutech tổng quaacutet
Người dugraveng Jabber được xaacutec định bằng tecircn người dugraveng vagrave tecircn maacutey phục vụ
caacutech nhau bằng dấu Căn cước nagravey được gọi lagrave Jabber ID hay JID
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
JID coacute dạng thức tecircn_người_dugravengtecircn_miềntagravei_nguyecircn tương tự như một địa
chỉ email
Người dugraveng Jabber coacute thể truy cập vagraveo tagravei khoản của migravenh cugraveng luacutec tại nhiều điểm
truy cập khaacutec nhau được xaacutec định qua phần tagravei_nguyecircn viacute dụ
tecircn_người_dugravengtecircn_miềncomcơ_quan vagrave tecircn_người_dugravengtecircn_miềncomnhagrave
Khocircng cần thiết chỉ định phần tagravei nguyecircn khi liecircn lạc với người dugraveng khaacutec
Tương tự như Sendmail người dugraveng Jabber coacute thể truy cập vagraveo caacutec giao thức
khaacutec qua cổng giao tiếp Jabber (Jabber Transport) viacute dụ JID của một địa chỉ lagrave
tecircn_người_dugravengmsncommsnjabberservercom
Tecircn người dugraveng trong JID dagravei tối đa 1023 kyacute tự vagrave khocircng được chứa
lt gt amp khoảng trắng vagrave kyacute tự điều khiển
JID
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Add thư viện agsXMPP vagraveo project Khai baacuteo để sử dụng
Xacircy dựng tiacutenh năng chat qua
facebook server
Để coacute thể đăng nhập vagraveo dịch vụ chat ta cần phải coacute username của người dugraveng vagrave
password Username của người dugraveng coacute thể tigravem thấy dưới dạng
Sau khi đatilde coacute username vagrave pass của người dugraveng chuacuteng ta tiến hagravenh đăng nhập
XmppClientConnection xmpp
xmpp = new XmppClientConnection(ldquochatfacebookcomrdquo)
xmppOpen(username password)
if (xmppAuthenticated == true)
Presence p = new Presence(ShowTypechat Online)pType = PresenceTypeavailable
xmppSend(p)
ThreadSleep(6000)
httpswwwfacebookcom[username]
Khai baacuteo
XAcircY DỰNG CHỨC NĂNG CHAT
Tecircn server chat
của facebookDừng lại để chờ
server xaacutec thực
Username
chỗ nagravey
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Add bạn begrave vagraveo danh saacutech chat
xmppMessageGrabberAdd(new Jid(- + friendId + chatfacebookcom)
new BareJidComparer()
new MessageCB(MessageCallBack)
null)
ID của bạn begrave
Hagravem nhận sự kiện
khi coacute tin nhắn tới
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Hagravem nhận sự kiện tin nhắn đến
void MessageCallBack(object sender Message msg object data)
if (msgBody = null)displayMessage()
Đacircy lagrave hagravem chịu traacutech
nhiệm xử liacute vagrave hiển thị tin
nhắn
Xacircy dựng tiacutenh năng chat qua
facebook server
Gửi tin nhắn đi
xmppSend(new Message(new Jid(ldquo-rdquo + friendID + chatfacebookcom)
MessageTypechat
messageBody))
Nội dung tin
nhắn gửi đi
ID của bạn begrave sẽ
nhận tin nhắn
XAcircY DỰNG CHỨC NĂNG CHAT
Xacircy dựng tiacutenh năng chat qua
facebook server Như vậy chuacuteng ta đatilde coacute thể hoagraven thagravenh được tiacutenh năng
chat facebook sử dụng thư viecircn agsxmppdll
Cảm ơn thầy vagrave caacutec
bạn đatilde quan tacircm
theo dotildei
Facebook SDK for NETFeaturesbull NuGet Packages Available (Facebook and Facebook channel)
bull Compatible with all Facebook Graph and REST API methods
bull Supports photovideo uploads
bull Supports batch requests and etags
bull Supports Facebookrsquos most current authentication systems
bull Sample applications and documentation are provided to get you started quickly
Supported Platformsbull NET 35 (Client Profile and Full Profile)
bull NET 40 (Client Profile and Full Profile)
bull NET 45
bull Windows Store Apps
bull Silverlight 5
bull Windows Phone 71
bull Windows Phone 8
Giới thiệu về facebookdeverlopers
Giới thiệu về facebook deverlopers
Giới thiệu về bộ thư viện facebookdll
Tương taacutec với facebook qua facebookdll
Xacircy dựng tiacutenh năng chat qua facebook server
Giới thiệu về bộ thư viện
facebookdllldquoThe Facebook SDK for NET binaries are only distributed via nugetVigrave vậy để sử dụng bộ thư viecircn nagravey chuacuteng ta cagravei đặt trực tiếp thocircng qua NUGET trong
Visual Studio Phiecircn bản hiện tại lagrave 642
nuget install Facebook
ldquoFor those using older versions of Visual Studio that does not support NuGet Package Manager please download the command line version of NuGetexe and run the following commandldquo
Giới thiệu về bộ thư viện
facebookdll
Giới thiệu về facebook deverlopers
Giới thiệu về bộ thư viện facebookdll
Tương taacutec với facebook qua facebookdll
Xacircy dựng tiacutenh năng chat qua facebook server
Trước tiecircn để coacute thể lagravem việc với facebook thocircng qua bộ thư viện đatilde tải
về chuacuteng ta phải tạo một app trecircn trang chủ dagravenh cho nhagrave phaacutet triển của
Truy cập httpsdevelopersfacebookcomapps
Lagravem theo caacutec hướng dẫn của facebook để đăng kiacute trở thagravenh nhagrave phaacutet triển
Tương taacutec với facebook qua
facebookdll
Tương taacutec với facebook qua
facebookdllSau khi đatilde đăng kiacute xong tiến hagravenh tạo một app theo hướng dẫn
Giữ lại AppID vagrave SecretID để sử dụng sau nagravey
Tương taacutec với facebook qua
facebookdll Class FacebookClient
Function Description
object Get() Makes a GET request to the Facebook server
object Post() Makes a POST request to the Facebook server
Uri GetLoginUrl(object parameters) Gets the Facebook OAuth login url
Uri GetLogoutUrl(object parameters)Gets the Facebook OAuth logout url
object ParseDialogCallbackUrl(Uri uri) Parses the dialog callback url to an object of the resulting data
bool TryParseOAuthCallbackUrl(Uri url out
FacebookOAuthResult facebookOAuthResult)Try parsing the url to FacebookFacebookOAuthResult
Tương taacutec với facebook qua
facebookdllFunction Description
FacebookOAuthResult ParseOAuthCallbackUrl(Uri uri) Parse the url to FacebookFacebookOAuthResult
object Delete(string path object parameters) Makes a DELETE request to the Facebook server
void CancelAsync() Cancels asynchronous requests
void VerifyGetSubscription(string requestHubMode
string requestVerifyToken string requestHubChallenge)
Verify HTTP_X_HUB_SIGNATURE for HTTP
GET
object VerifyPostSubscription(string
requestHttpXHubSignature string requestBody string
appSecret)
Verify HTTP_X_HUB_SIGNATURE for HTTP
POST
Tương taacutec với facebook qua
facebookdll VD Lấy Url login của app
bull Trước tiecircn tạo một đối tượng FacebookClient
FacebookClient _fb=new FacebookClient()
Uri _loginUrl = _fbGetLoginUrl(object parameter)
Client_id App ID
redirect_uri Địa chỉ trang web trả về khi yecircu cầu thagravenh
cocircng
scope Phạm vi truy xuất thocircng tin của ứng dụng
display Caacutech thức trigravenh bagravey trang login
response_type Kiểu đối tượng trả về
parameterVd Uri _loginUrl=_fbGetLoginUrl(new
client_id = _appID
redirect_uri = _redirectUri
scope=ldquouser_about_me publish_streamrdquo
display=ldquopopuprdquo
Response_type=ldquotokenrdquo
)
bull Yecircu cầu url login sử dụng hagravem
Tương taacutec với facebook qua
facebookdll VD Đăng nhập facebook bằng loginUrl đatilde coacute
WebBrowser loginBrowser = new WebBrowser()logiBrowserNavigate(_loginUrl)
bull Kiểm tra đăng nhập vagrave nhận AccessToken
bull Tạo một đối tượng WebBrowser
void loginBrower_navigated(object sender NavigationEventArgs e)
FacebookOAuthResult _resultif(_fbTryParseOAuthCallbackUri(euri _result)
_accessToken=_resultAccessToken
Tương taacutec với facebook qua
facebookdll Hagravem Get
Function Description
virtual object Get(string path) Makes a GET request to the Facebook server
virtual object Get(string path object parameters) Makes a GET request to the Facebook server
virtual object Get(string path object parameters
Type resultType)Makes a GET request to the Facebook server
virtual void GetAsync(string path object parameters
object userState)
Makes an asynchronous GET request to the Facebook
server
VD Lấy thocircng tin người dugraveng
bull Để lấy thocircng tin người dugraveng ta sử dụng hagravem Get
_fbGet(string path)
VD var info=_fbGet(ldquomerdquo)
Tương taacutec với facebook qua
facebookdll
VD Lấy danh saacutech bạn begrave
bull Để lấy danh saacutech bạn begrave ta sử dụng hagravem Get
_fbGet(string path)
VD var info=_fbGet(ldquomefriendsrdquo)
Tương taacutec với facebook qua
facebookdll
VD Lấy danh saacutech bạn begrave online
bull Để lấy danh saacutech bạn begrave online ta sử dụng hagravem Get
_fbGet(string path object parameters)
VD
Tương taacutec với facebook qua
facebookdll
VD Lấy danh saacutech Albums của người dugraveng
bull Để lấy danh saacutech album ta dugraveng hagravem
_fbGet(string path)
VD var info=_fbGet(ldquomealbumsrdquo)
Tương taacutec với facebook qua
facebookdll
Hagravem Post
Function Description
virtual object Post(object parameters) Makes a POST request to the Facebook server
virtual object Post(string path object parameters) Makes a POST request to the Facebook server
virtual void PostAsync(object parameters)Makes an asynchronous POST request to the
Facebook server
virtual Taskltobjectgt PostTaskAsync(string path
object parameters)
Makes an asynchronous POST request to the
Facebook server
Tương taacutec với facebook qua
facebookdll
VD Post 1 status lecircn tường
bull Để post status lecircn trang chủ ta sử dụng hagravem Post
_fbPost(string Path object parameter)
VD
Tương taacutec với facebook qua
facebookdll
VD Post 1 higravenh lecircn tường
bull Để post higravenh lecircn trang chủ ta sử dụng hagravem Post
_fbPost(string Path object parameter)
VD
Tương taacutec với facebook qua
facebookdll
Giới thiệu về facebook deverlopers
Giới thiệu về bộ thư viện facebookdll
Tương taacutec với facebook qua facebookdll
Xacircy dựng tiacutenh năng chat qua facebook server
Xacircy dựng tiacutenh năng chat qua
facebook server
Chuacuteng ta sử dụng bộ thư viện agsxmppdll do cocircng ty AG-Software cung cấp
Đacircy lagrave một bộ thư viện được cung cấp miễn phiacute vagrave dựa trecircn phương thức
xmpp
VẤN ĐỀ
Bộ thư viecircn facebookdll khocircng hỗ trợ việc xacircy dựng tiacutenh năng chat
Phiacutea Facebook khocircng hỗ trợ caacutec hagravem API để xacircy dựng tiacutenh năng
chat magrave chỉ hỗ trợ xacircy dựng tiacutenh năng chat thocircng qua giao thức
xmpp (Extensible Messaging and Presence Protocol)
GIẢI PHAacuteP
Link download bộ thư viện agsxmppdll
httpwwwag-softwarenetagsxmpp-sdk
Xacircy dựng tiacutenh năng chat qua
facebook server
Extensible Messaging and Presence Protocol (XMPP) trước đacircy lagrave Jabber lagrave
giao thức mở vagrave dựa trecircn nền tảng XML dugraveng trong nhắn tin nhanh (instant
messaging) vagrave thocircng tin hiện diện trực tuyến (presence information) Theo Hội
Tiecircu chuẩn XMPP (XMPP Standards Foundation trước đacircy lagrave Jabber Software
Foundation JSF) phần mềm dựa trecircn Jabber được triển khai tại hagraveng ngagraven maacutey
phục vụ trecircn Internet vagrave được hơn 10 triệu người trecircn khắp thế giới sử dụng
Jeremie Miller khởi đầu dự aacuten vagraveo năm 1998 phiecircn bản đầu tiecircn được cocircng bố
vagraveo thaacuteng năm 2000 Sản phẩm chiacutenh của dự aacuten lagrave jabberd một trigravenh phục vụ
(server) để từ đoacute caacutec trigravenh khaacutech (client) kết nối đến vagrave trao đổi tin nhắn Trigravenh
phục vụ nagravey coacute thể tạo mạng Jabber riecircng tư (như sau tường lửa) hoặc coacute thể tham
gia vagraveo mạng Jabber cocircng cộng toagraven cầu Đặc tiacutenh cốt lotildei của Jabber lagrave bản chất
của hệ thống tin nhắn nhanh phacircn taacuten vagrave việc sử dụng streaming XML
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
Điểm đặc trưng của hệ thống Jabber lagrave noacute coacute caacutec transport cograven được gọi lagrave
gateway (cổng) cho pheacutep người dugraveng truy cập mạng với caacutec giao thức khaacutec - như
AIM vagrave ICQ (dugraveng OSCAR) MSN Messenger vagrave Windows Messenger (dugraveng Dịch
vụ nhắn tin NET - NET Messenger Service) Yahoo Messenger SMS hay E-mail
Khocircng như caacutec trigravenh khaacutech đa giao thức như Trillian hay Gaim việc truy cập đến
caacutec giao thức khaacutec được Jabber cung cấp ở cấp độ trigravenh phục vụ bằng caacutech truyền
thocircng tin qua caacutec dịch vụ cổng đặc biệt chạy trecircn một maacutey tiacutenh ở xa Bất cứ người
dugraveng nagraveo cũng coacute thể đăng kiacute với một trong caacutec cổng nagravey bằng caacutech cung cấp
thocircng tin cần thiết để đăng nhập vagraveo mạng đoacute vagrave từ đoacute coacute thể liecircn lạc với người
dugraveng của mạng khaacutec như thể họ lagrave người dugraveng Jabber Điều nagravey coacute nghĩa lagrave bất cứ
trigravenh khaacutech nagraveo hỗ trợ đầy đủ giao thức Jabber đều coacute thể được dugraveng để truy cập bất
cứ mạng nagraveo coacute cổng kết nối magrave khocircng cần thecircm dograveng matilde lệnh nagraveo từ trigravenh khaacutech
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
Nền tảng của giao thức Jabber hiện được Tổ chức Phần mềm Jabber quản liacute
đatilde được IETF chấp nhận lagravem giao thức standards-track dưới tecircn XMPP với
RFC 3920 Noacute thường được xem lagrave đối thủ cạnh tranh với SIMPLE dựa trecircn
giao thức SIP để lagravem giao thức chuẩn cho nhắn tin nhanh vagrave thocircng baacuteo hiện
diện tuy nhiecircn thiết kế của XMPP được nhắm đến việc cung cấp caacutec tiện iacutech
trigravenh trung gian (middleware) liecircn ứng dụng vagrave mục điacutech tổng quaacutet
Người dugraveng Jabber được xaacutec định bằng tecircn người dugraveng vagrave tecircn maacutey phục vụ
caacutech nhau bằng dấu Căn cước nagravey được gọi lagrave Jabber ID hay JID
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
JID coacute dạng thức tecircn_người_dugravengtecircn_miềntagravei_nguyecircn tương tự như một địa
chỉ email
Người dugraveng Jabber coacute thể truy cập vagraveo tagravei khoản của migravenh cugraveng luacutec tại nhiều điểm
truy cập khaacutec nhau được xaacutec định qua phần tagravei_nguyecircn viacute dụ
tecircn_người_dugravengtecircn_miềncomcơ_quan vagrave tecircn_người_dugravengtecircn_miềncomnhagrave
Khocircng cần thiết chỉ định phần tagravei nguyecircn khi liecircn lạc với người dugraveng khaacutec
Tương tự như Sendmail người dugraveng Jabber coacute thể truy cập vagraveo caacutec giao thức
khaacutec qua cổng giao tiếp Jabber (Jabber Transport) viacute dụ JID của một địa chỉ lagrave
tecircn_người_dugravengmsncommsnjabberservercom
Tecircn người dugraveng trong JID dagravei tối đa 1023 kyacute tự vagrave khocircng được chứa
lt gt amp khoảng trắng vagrave kyacute tự điều khiển
JID
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Add thư viện agsXMPP vagraveo project Khai baacuteo để sử dụng
Xacircy dựng tiacutenh năng chat qua
facebook server
Để coacute thể đăng nhập vagraveo dịch vụ chat ta cần phải coacute username của người dugraveng vagrave
password Username của người dugraveng coacute thể tigravem thấy dưới dạng
Sau khi đatilde coacute username vagrave pass của người dugraveng chuacuteng ta tiến hagravenh đăng nhập
XmppClientConnection xmpp
xmpp = new XmppClientConnection(ldquochatfacebookcomrdquo)
xmppOpen(username password)
if (xmppAuthenticated == true)
Presence p = new Presence(ShowTypechat Online)pType = PresenceTypeavailable
xmppSend(p)
ThreadSleep(6000)
httpswwwfacebookcom[username]
Khai baacuteo
XAcircY DỰNG CHỨC NĂNG CHAT
Tecircn server chat
của facebookDừng lại để chờ
server xaacutec thực
Username
chỗ nagravey
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Add bạn begrave vagraveo danh saacutech chat
xmppMessageGrabberAdd(new Jid(- + friendId + chatfacebookcom)
new BareJidComparer()
new MessageCB(MessageCallBack)
null)
ID của bạn begrave
Hagravem nhận sự kiện
khi coacute tin nhắn tới
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Hagravem nhận sự kiện tin nhắn đến
void MessageCallBack(object sender Message msg object data)
if (msgBody = null)displayMessage()
Đacircy lagrave hagravem chịu traacutech
nhiệm xử liacute vagrave hiển thị tin
nhắn
Xacircy dựng tiacutenh năng chat qua
facebook server
Gửi tin nhắn đi
xmppSend(new Message(new Jid(ldquo-rdquo + friendID + chatfacebookcom)
MessageTypechat
messageBody))
Nội dung tin
nhắn gửi đi
ID của bạn begrave sẽ
nhận tin nhắn
XAcircY DỰNG CHỨC NĂNG CHAT
Xacircy dựng tiacutenh năng chat qua
facebook server Như vậy chuacuteng ta đatilde coacute thể hoagraven thagravenh được tiacutenh năng
chat facebook sử dụng thư viecircn agsxmppdll
Cảm ơn thầy vagrave caacutec
bạn đatilde quan tacircm
theo dotildei
Giới thiệu về facebook deverlopers
Giới thiệu về bộ thư viện facebookdll
Tương taacutec với facebook qua facebookdll
Xacircy dựng tiacutenh năng chat qua facebook server
Giới thiệu về bộ thư viện
facebookdllldquoThe Facebook SDK for NET binaries are only distributed via nugetVigrave vậy để sử dụng bộ thư viecircn nagravey chuacuteng ta cagravei đặt trực tiếp thocircng qua NUGET trong
Visual Studio Phiecircn bản hiện tại lagrave 642
nuget install Facebook
ldquoFor those using older versions of Visual Studio that does not support NuGet Package Manager please download the command line version of NuGetexe and run the following commandldquo
Giới thiệu về bộ thư viện
facebookdll
Giới thiệu về facebook deverlopers
Giới thiệu về bộ thư viện facebookdll
Tương taacutec với facebook qua facebookdll
Xacircy dựng tiacutenh năng chat qua facebook server
Trước tiecircn để coacute thể lagravem việc với facebook thocircng qua bộ thư viện đatilde tải
về chuacuteng ta phải tạo một app trecircn trang chủ dagravenh cho nhagrave phaacutet triển của
Truy cập httpsdevelopersfacebookcomapps
Lagravem theo caacutec hướng dẫn của facebook để đăng kiacute trở thagravenh nhagrave phaacutet triển
Tương taacutec với facebook qua
facebookdll
Tương taacutec với facebook qua
facebookdllSau khi đatilde đăng kiacute xong tiến hagravenh tạo một app theo hướng dẫn
Giữ lại AppID vagrave SecretID để sử dụng sau nagravey
Tương taacutec với facebook qua
facebookdll Class FacebookClient
Function Description
object Get() Makes a GET request to the Facebook server
object Post() Makes a POST request to the Facebook server
Uri GetLoginUrl(object parameters) Gets the Facebook OAuth login url
Uri GetLogoutUrl(object parameters)Gets the Facebook OAuth logout url
object ParseDialogCallbackUrl(Uri uri) Parses the dialog callback url to an object of the resulting data
bool TryParseOAuthCallbackUrl(Uri url out
FacebookOAuthResult facebookOAuthResult)Try parsing the url to FacebookFacebookOAuthResult
Tương taacutec với facebook qua
facebookdllFunction Description
FacebookOAuthResult ParseOAuthCallbackUrl(Uri uri) Parse the url to FacebookFacebookOAuthResult
object Delete(string path object parameters) Makes a DELETE request to the Facebook server
void CancelAsync() Cancels asynchronous requests
void VerifyGetSubscription(string requestHubMode
string requestVerifyToken string requestHubChallenge)
Verify HTTP_X_HUB_SIGNATURE for HTTP
GET
object VerifyPostSubscription(string
requestHttpXHubSignature string requestBody string
appSecret)
Verify HTTP_X_HUB_SIGNATURE for HTTP
POST
Tương taacutec với facebook qua
facebookdll VD Lấy Url login của app
bull Trước tiecircn tạo một đối tượng FacebookClient
FacebookClient _fb=new FacebookClient()
Uri _loginUrl = _fbGetLoginUrl(object parameter)
Client_id App ID
redirect_uri Địa chỉ trang web trả về khi yecircu cầu thagravenh
cocircng
scope Phạm vi truy xuất thocircng tin của ứng dụng
display Caacutech thức trigravenh bagravey trang login
response_type Kiểu đối tượng trả về
parameterVd Uri _loginUrl=_fbGetLoginUrl(new
client_id = _appID
redirect_uri = _redirectUri
scope=ldquouser_about_me publish_streamrdquo
display=ldquopopuprdquo
Response_type=ldquotokenrdquo
)
bull Yecircu cầu url login sử dụng hagravem
Tương taacutec với facebook qua
facebookdll VD Đăng nhập facebook bằng loginUrl đatilde coacute
WebBrowser loginBrowser = new WebBrowser()logiBrowserNavigate(_loginUrl)
bull Kiểm tra đăng nhập vagrave nhận AccessToken
bull Tạo một đối tượng WebBrowser
void loginBrower_navigated(object sender NavigationEventArgs e)
FacebookOAuthResult _resultif(_fbTryParseOAuthCallbackUri(euri _result)
_accessToken=_resultAccessToken
Tương taacutec với facebook qua
facebookdll Hagravem Get
Function Description
virtual object Get(string path) Makes a GET request to the Facebook server
virtual object Get(string path object parameters) Makes a GET request to the Facebook server
virtual object Get(string path object parameters
Type resultType)Makes a GET request to the Facebook server
virtual void GetAsync(string path object parameters
object userState)
Makes an asynchronous GET request to the Facebook
server
VD Lấy thocircng tin người dugraveng
bull Để lấy thocircng tin người dugraveng ta sử dụng hagravem Get
_fbGet(string path)
VD var info=_fbGet(ldquomerdquo)
Tương taacutec với facebook qua
facebookdll
VD Lấy danh saacutech bạn begrave
bull Để lấy danh saacutech bạn begrave ta sử dụng hagravem Get
_fbGet(string path)
VD var info=_fbGet(ldquomefriendsrdquo)
Tương taacutec với facebook qua
facebookdll
VD Lấy danh saacutech bạn begrave online
bull Để lấy danh saacutech bạn begrave online ta sử dụng hagravem Get
_fbGet(string path object parameters)
VD
Tương taacutec với facebook qua
facebookdll
VD Lấy danh saacutech Albums của người dugraveng
bull Để lấy danh saacutech album ta dugraveng hagravem
_fbGet(string path)
VD var info=_fbGet(ldquomealbumsrdquo)
Tương taacutec với facebook qua
facebookdll
Hagravem Post
Function Description
virtual object Post(object parameters) Makes a POST request to the Facebook server
virtual object Post(string path object parameters) Makes a POST request to the Facebook server
virtual void PostAsync(object parameters)Makes an asynchronous POST request to the
Facebook server
virtual Taskltobjectgt PostTaskAsync(string path
object parameters)
Makes an asynchronous POST request to the
Facebook server
Tương taacutec với facebook qua
facebookdll
VD Post 1 status lecircn tường
bull Để post status lecircn trang chủ ta sử dụng hagravem Post
_fbPost(string Path object parameter)
VD
Tương taacutec với facebook qua
facebookdll
VD Post 1 higravenh lecircn tường
bull Để post higravenh lecircn trang chủ ta sử dụng hagravem Post
_fbPost(string Path object parameter)
VD
Tương taacutec với facebook qua
facebookdll
Giới thiệu về facebook deverlopers
Giới thiệu về bộ thư viện facebookdll
Tương taacutec với facebook qua facebookdll
Xacircy dựng tiacutenh năng chat qua facebook server
Xacircy dựng tiacutenh năng chat qua
facebook server
Chuacuteng ta sử dụng bộ thư viện agsxmppdll do cocircng ty AG-Software cung cấp
Đacircy lagrave một bộ thư viện được cung cấp miễn phiacute vagrave dựa trecircn phương thức
xmpp
VẤN ĐỀ
Bộ thư viecircn facebookdll khocircng hỗ trợ việc xacircy dựng tiacutenh năng chat
Phiacutea Facebook khocircng hỗ trợ caacutec hagravem API để xacircy dựng tiacutenh năng
chat magrave chỉ hỗ trợ xacircy dựng tiacutenh năng chat thocircng qua giao thức
xmpp (Extensible Messaging and Presence Protocol)
GIẢI PHAacuteP
Link download bộ thư viện agsxmppdll
httpwwwag-softwarenetagsxmpp-sdk
Xacircy dựng tiacutenh năng chat qua
facebook server
Extensible Messaging and Presence Protocol (XMPP) trước đacircy lagrave Jabber lagrave
giao thức mở vagrave dựa trecircn nền tảng XML dugraveng trong nhắn tin nhanh (instant
messaging) vagrave thocircng tin hiện diện trực tuyến (presence information) Theo Hội
Tiecircu chuẩn XMPP (XMPP Standards Foundation trước đacircy lagrave Jabber Software
Foundation JSF) phần mềm dựa trecircn Jabber được triển khai tại hagraveng ngagraven maacutey
phục vụ trecircn Internet vagrave được hơn 10 triệu người trecircn khắp thế giới sử dụng
Jeremie Miller khởi đầu dự aacuten vagraveo năm 1998 phiecircn bản đầu tiecircn được cocircng bố
vagraveo thaacuteng năm 2000 Sản phẩm chiacutenh của dự aacuten lagrave jabberd một trigravenh phục vụ
(server) để từ đoacute caacutec trigravenh khaacutech (client) kết nối đến vagrave trao đổi tin nhắn Trigravenh
phục vụ nagravey coacute thể tạo mạng Jabber riecircng tư (như sau tường lửa) hoặc coacute thể tham
gia vagraveo mạng Jabber cocircng cộng toagraven cầu Đặc tiacutenh cốt lotildei của Jabber lagrave bản chất
của hệ thống tin nhắn nhanh phacircn taacuten vagrave việc sử dụng streaming XML
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
Điểm đặc trưng của hệ thống Jabber lagrave noacute coacute caacutec transport cograven được gọi lagrave
gateway (cổng) cho pheacutep người dugraveng truy cập mạng với caacutec giao thức khaacutec - như
AIM vagrave ICQ (dugraveng OSCAR) MSN Messenger vagrave Windows Messenger (dugraveng Dịch
vụ nhắn tin NET - NET Messenger Service) Yahoo Messenger SMS hay E-mail
Khocircng như caacutec trigravenh khaacutech đa giao thức như Trillian hay Gaim việc truy cập đến
caacutec giao thức khaacutec được Jabber cung cấp ở cấp độ trigravenh phục vụ bằng caacutech truyền
thocircng tin qua caacutec dịch vụ cổng đặc biệt chạy trecircn một maacutey tiacutenh ở xa Bất cứ người
dugraveng nagraveo cũng coacute thể đăng kiacute với một trong caacutec cổng nagravey bằng caacutech cung cấp
thocircng tin cần thiết để đăng nhập vagraveo mạng đoacute vagrave từ đoacute coacute thể liecircn lạc với người
dugraveng của mạng khaacutec như thể họ lagrave người dugraveng Jabber Điều nagravey coacute nghĩa lagrave bất cứ
trigravenh khaacutech nagraveo hỗ trợ đầy đủ giao thức Jabber đều coacute thể được dugraveng để truy cập bất
cứ mạng nagraveo coacute cổng kết nối magrave khocircng cần thecircm dograveng matilde lệnh nagraveo từ trigravenh khaacutech
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
Nền tảng của giao thức Jabber hiện được Tổ chức Phần mềm Jabber quản liacute
đatilde được IETF chấp nhận lagravem giao thức standards-track dưới tecircn XMPP với
RFC 3920 Noacute thường được xem lagrave đối thủ cạnh tranh với SIMPLE dựa trecircn
giao thức SIP để lagravem giao thức chuẩn cho nhắn tin nhanh vagrave thocircng baacuteo hiện
diện tuy nhiecircn thiết kế của XMPP được nhắm đến việc cung cấp caacutec tiện iacutech
trigravenh trung gian (middleware) liecircn ứng dụng vagrave mục điacutech tổng quaacutet
Người dugraveng Jabber được xaacutec định bằng tecircn người dugraveng vagrave tecircn maacutey phục vụ
caacutech nhau bằng dấu Căn cước nagravey được gọi lagrave Jabber ID hay JID
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
JID coacute dạng thức tecircn_người_dugravengtecircn_miềntagravei_nguyecircn tương tự như một địa
chỉ email
Người dugraveng Jabber coacute thể truy cập vagraveo tagravei khoản của migravenh cugraveng luacutec tại nhiều điểm
truy cập khaacutec nhau được xaacutec định qua phần tagravei_nguyecircn viacute dụ
tecircn_người_dugravengtecircn_miềncomcơ_quan vagrave tecircn_người_dugravengtecircn_miềncomnhagrave
Khocircng cần thiết chỉ định phần tagravei nguyecircn khi liecircn lạc với người dugraveng khaacutec
Tương tự như Sendmail người dugraveng Jabber coacute thể truy cập vagraveo caacutec giao thức
khaacutec qua cổng giao tiếp Jabber (Jabber Transport) viacute dụ JID của một địa chỉ lagrave
tecircn_người_dugravengmsncommsnjabberservercom
Tecircn người dugraveng trong JID dagravei tối đa 1023 kyacute tự vagrave khocircng được chứa
lt gt amp khoảng trắng vagrave kyacute tự điều khiển
JID
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Add thư viện agsXMPP vagraveo project Khai baacuteo để sử dụng
Xacircy dựng tiacutenh năng chat qua
facebook server
Để coacute thể đăng nhập vagraveo dịch vụ chat ta cần phải coacute username của người dugraveng vagrave
password Username của người dugraveng coacute thể tigravem thấy dưới dạng
Sau khi đatilde coacute username vagrave pass của người dugraveng chuacuteng ta tiến hagravenh đăng nhập
XmppClientConnection xmpp
xmpp = new XmppClientConnection(ldquochatfacebookcomrdquo)
xmppOpen(username password)
if (xmppAuthenticated == true)
Presence p = new Presence(ShowTypechat Online)pType = PresenceTypeavailable
xmppSend(p)
ThreadSleep(6000)
httpswwwfacebookcom[username]
Khai baacuteo
XAcircY DỰNG CHỨC NĂNG CHAT
Tecircn server chat
của facebookDừng lại để chờ
server xaacutec thực
Username
chỗ nagravey
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Add bạn begrave vagraveo danh saacutech chat
xmppMessageGrabberAdd(new Jid(- + friendId + chatfacebookcom)
new BareJidComparer()
new MessageCB(MessageCallBack)
null)
ID của bạn begrave
Hagravem nhận sự kiện
khi coacute tin nhắn tới
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Hagravem nhận sự kiện tin nhắn đến
void MessageCallBack(object sender Message msg object data)
if (msgBody = null)displayMessage()
Đacircy lagrave hagravem chịu traacutech
nhiệm xử liacute vagrave hiển thị tin
nhắn
Xacircy dựng tiacutenh năng chat qua
facebook server
Gửi tin nhắn đi
xmppSend(new Message(new Jid(ldquo-rdquo + friendID + chatfacebookcom)
MessageTypechat
messageBody))
Nội dung tin
nhắn gửi đi
ID của bạn begrave sẽ
nhận tin nhắn
XAcircY DỰNG CHỨC NĂNG CHAT
Xacircy dựng tiacutenh năng chat qua
facebook server Như vậy chuacuteng ta đatilde coacute thể hoagraven thagravenh được tiacutenh năng
chat facebook sử dụng thư viecircn agsxmppdll
Cảm ơn thầy vagrave caacutec
bạn đatilde quan tacircm
theo dotildei
Giới thiệu về bộ thư viện
facebookdllldquoThe Facebook SDK for NET binaries are only distributed via nugetVigrave vậy để sử dụng bộ thư viecircn nagravey chuacuteng ta cagravei đặt trực tiếp thocircng qua NUGET trong
Visual Studio Phiecircn bản hiện tại lagrave 642
nuget install Facebook
ldquoFor those using older versions of Visual Studio that does not support NuGet Package Manager please download the command line version of NuGetexe and run the following commandldquo
Giới thiệu về bộ thư viện
facebookdll
Giới thiệu về facebook deverlopers
Giới thiệu về bộ thư viện facebookdll
Tương taacutec với facebook qua facebookdll
Xacircy dựng tiacutenh năng chat qua facebook server
Trước tiecircn để coacute thể lagravem việc với facebook thocircng qua bộ thư viện đatilde tải
về chuacuteng ta phải tạo một app trecircn trang chủ dagravenh cho nhagrave phaacutet triển của
Truy cập httpsdevelopersfacebookcomapps
Lagravem theo caacutec hướng dẫn của facebook để đăng kiacute trở thagravenh nhagrave phaacutet triển
Tương taacutec với facebook qua
facebookdll
Tương taacutec với facebook qua
facebookdllSau khi đatilde đăng kiacute xong tiến hagravenh tạo một app theo hướng dẫn
Giữ lại AppID vagrave SecretID để sử dụng sau nagravey
Tương taacutec với facebook qua
facebookdll Class FacebookClient
Function Description
object Get() Makes a GET request to the Facebook server
object Post() Makes a POST request to the Facebook server
Uri GetLoginUrl(object parameters) Gets the Facebook OAuth login url
Uri GetLogoutUrl(object parameters)Gets the Facebook OAuth logout url
object ParseDialogCallbackUrl(Uri uri) Parses the dialog callback url to an object of the resulting data
bool TryParseOAuthCallbackUrl(Uri url out
FacebookOAuthResult facebookOAuthResult)Try parsing the url to FacebookFacebookOAuthResult
Tương taacutec với facebook qua
facebookdllFunction Description
FacebookOAuthResult ParseOAuthCallbackUrl(Uri uri) Parse the url to FacebookFacebookOAuthResult
object Delete(string path object parameters) Makes a DELETE request to the Facebook server
void CancelAsync() Cancels asynchronous requests
void VerifyGetSubscription(string requestHubMode
string requestVerifyToken string requestHubChallenge)
Verify HTTP_X_HUB_SIGNATURE for HTTP
GET
object VerifyPostSubscription(string
requestHttpXHubSignature string requestBody string
appSecret)
Verify HTTP_X_HUB_SIGNATURE for HTTP
POST
Tương taacutec với facebook qua
facebookdll VD Lấy Url login của app
bull Trước tiecircn tạo một đối tượng FacebookClient
FacebookClient _fb=new FacebookClient()
Uri _loginUrl = _fbGetLoginUrl(object parameter)
Client_id App ID
redirect_uri Địa chỉ trang web trả về khi yecircu cầu thagravenh
cocircng
scope Phạm vi truy xuất thocircng tin của ứng dụng
display Caacutech thức trigravenh bagravey trang login
response_type Kiểu đối tượng trả về
parameterVd Uri _loginUrl=_fbGetLoginUrl(new
client_id = _appID
redirect_uri = _redirectUri
scope=ldquouser_about_me publish_streamrdquo
display=ldquopopuprdquo
Response_type=ldquotokenrdquo
)
bull Yecircu cầu url login sử dụng hagravem
Tương taacutec với facebook qua
facebookdll VD Đăng nhập facebook bằng loginUrl đatilde coacute
WebBrowser loginBrowser = new WebBrowser()logiBrowserNavigate(_loginUrl)
bull Kiểm tra đăng nhập vagrave nhận AccessToken
bull Tạo một đối tượng WebBrowser
void loginBrower_navigated(object sender NavigationEventArgs e)
FacebookOAuthResult _resultif(_fbTryParseOAuthCallbackUri(euri _result)
_accessToken=_resultAccessToken
Tương taacutec với facebook qua
facebookdll Hagravem Get
Function Description
virtual object Get(string path) Makes a GET request to the Facebook server
virtual object Get(string path object parameters) Makes a GET request to the Facebook server
virtual object Get(string path object parameters
Type resultType)Makes a GET request to the Facebook server
virtual void GetAsync(string path object parameters
object userState)
Makes an asynchronous GET request to the Facebook
server
VD Lấy thocircng tin người dugraveng
bull Để lấy thocircng tin người dugraveng ta sử dụng hagravem Get
_fbGet(string path)
VD var info=_fbGet(ldquomerdquo)
Tương taacutec với facebook qua
facebookdll
VD Lấy danh saacutech bạn begrave
bull Để lấy danh saacutech bạn begrave ta sử dụng hagravem Get
_fbGet(string path)
VD var info=_fbGet(ldquomefriendsrdquo)
Tương taacutec với facebook qua
facebookdll
VD Lấy danh saacutech bạn begrave online
bull Để lấy danh saacutech bạn begrave online ta sử dụng hagravem Get
_fbGet(string path object parameters)
VD
Tương taacutec với facebook qua
facebookdll
VD Lấy danh saacutech Albums của người dugraveng
bull Để lấy danh saacutech album ta dugraveng hagravem
_fbGet(string path)
VD var info=_fbGet(ldquomealbumsrdquo)
Tương taacutec với facebook qua
facebookdll
Hagravem Post
Function Description
virtual object Post(object parameters) Makes a POST request to the Facebook server
virtual object Post(string path object parameters) Makes a POST request to the Facebook server
virtual void PostAsync(object parameters)Makes an asynchronous POST request to the
Facebook server
virtual Taskltobjectgt PostTaskAsync(string path
object parameters)
Makes an asynchronous POST request to the
Facebook server
Tương taacutec với facebook qua
facebookdll
VD Post 1 status lecircn tường
bull Để post status lecircn trang chủ ta sử dụng hagravem Post
_fbPost(string Path object parameter)
VD
Tương taacutec với facebook qua
facebookdll
VD Post 1 higravenh lecircn tường
bull Để post higravenh lecircn trang chủ ta sử dụng hagravem Post
_fbPost(string Path object parameter)
VD
Tương taacutec với facebook qua
facebookdll
Giới thiệu về facebook deverlopers
Giới thiệu về bộ thư viện facebookdll
Tương taacutec với facebook qua facebookdll
Xacircy dựng tiacutenh năng chat qua facebook server
Xacircy dựng tiacutenh năng chat qua
facebook server
Chuacuteng ta sử dụng bộ thư viện agsxmppdll do cocircng ty AG-Software cung cấp
Đacircy lagrave một bộ thư viện được cung cấp miễn phiacute vagrave dựa trecircn phương thức
xmpp
VẤN ĐỀ
Bộ thư viecircn facebookdll khocircng hỗ trợ việc xacircy dựng tiacutenh năng chat
Phiacutea Facebook khocircng hỗ trợ caacutec hagravem API để xacircy dựng tiacutenh năng
chat magrave chỉ hỗ trợ xacircy dựng tiacutenh năng chat thocircng qua giao thức
xmpp (Extensible Messaging and Presence Protocol)
GIẢI PHAacuteP
Link download bộ thư viện agsxmppdll
httpwwwag-softwarenetagsxmpp-sdk
Xacircy dựng tiacutenh năng chat qua
facebook server
Extensible Messaging and Presence Protocol (XMPP) trước đacircy lagrave Jabber lagrave
giao thức mở vagrave dựa trecircn nền tảng XML dugraveng trong nhắn tin nhanh (instant
messaging) vagrave thocircng tin hiện diện trực tuyến (presence information) Theo Hội
Tiecircu chuẩn XMPP (XMPP Standards Foundation trước đacircy lagrave Jabber Software
Foundation JSF) phần mềm dựa trecircn Jabber được triển khai tại hagraveng ngagraven maacutey
phục vụ trecircn Internet vagrave được hơn 10 triệu người trecircn khắp thế giới sử dụng
Jeremie Miller khởi đầu dự aacuten vagraveo năm 1998 phiecircn bản đầu tiecircn được cocircng bố
vagraveo thaacuteng năm 2000 Sản phẩm chiacutenh của dự aacuten lagrave jabberd một trigravenh phục vụ
(server) để từ đoacute caacutec trigravenh khaacutech (client) kết nối đến vagrave trao đổi tin nhắn Trigravenh
phục vụ nagravey coacute thể tạo mạng Jabber riecircng tư (như sau tường lửa) hoặc coacute thể tham
gia vagraveo mạng Jabber cocircng cộng toagraven cầu Đặc tiacutenh cốt lotildei của Jabber lagrave bản chất
của hệ thống tin nhắn nhanh phacircn taacuten vagrave việc sử dụng streaming XML
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
Điểm đặc trưng của hệ thống Jabber lagrave noacute coacute caacutec transport cograven được gọi lagrave
gateway (cổng) cho pheacutep người dugraveng truy cập mạng với caacutec giao thức khaacutec - như
AIM vagrave ICQ (dugraveng OSCAR) MSN Messenger vagrave Windows Messenger (dugraveng Dịch
vụ nhắn tin NET - NET Messenger Service) Yahoo Messenger SMS hay E-mail
Khocircng như caacutec trigravenh khaacutech đa giao thức như Trillian hay Gaim việc truy cập đến
caacutec giao thức khaacutec được Jabber cung cấp ở cấp độ trigravenh phục vụ bằng caacutech truyền
thocircng tin qua caacutec dịch vụ cổng đặc biệt chạy trecircn một maacutey tiacutenh ở xa Bất cứ người
dugraveng nagraveo cũng coacute thể đăng kiacute với một trong caacutec cổng nagravey bằng caacutech cung cấp
thocircng tin cần thiết để đăng nhập vagraveo mạng đoacute vagrave từ đoacute coacute thể liecircn lạc với người
dugraveng của mạng khaacutec như thể họ lagrave người dugraveng Jabber Điều nagravey coacute nghĩa lagrave bất cứ
trigravenh khaacutech nagraveo hỗ trợ đầy đủ giao thức Jabber đều coacute thể được dugraveng để truy cập bất
cứ mạng nagraveo coacute cổng kết nối magrave khocircng cần thecircm dograveng matilde lệnh nagraveo từ trigravenh khaacutech
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
Nền tảng của giao thức Jabber hiện được Tổ chức Phần mềm Jabber quản liacute
đatilde được IETF chấp nhận lagravem giao thức standards-track dưới tecircn XMPP với
RFC 3920 Noacute thường được xem lagrave đối thủ cạnh tranh với SIMPLE dựa trecircn
giao thức SIP để lagravem giao thức chuẩn cho nhắn tin nhanh vagrave thocircng baacuteo hiện
diện tuy nhiecircn thiết kế của XMPP được nhắm đến việc cung cấp caacutec tiện iacutech
trigravenh trung gian (middleware) liecircn ứng dụng vagrave mục điacutech tổng quaacutet
Người dugraveng Jabber được xaacutec định bằng tecircn người dugraveng vagrave tecircn maacutey phục vụ
caacutech nhau bằng dấu Căn cước nagravey được gọi lagrave Jabber ID hay JID
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
JID coacute dạng thức tecircn_người_dugravengtecircn_miềntagravei_nguyecircn tương tự như một địa
chỉ email
Người dugraveng Jabber coacute thể truy cập vagraveo tagravei khoản của migravenh cugraveng luacutec tại nhiều điểm
truy cập khaacutec nhau được xaacutec định qua phần tagravei_nguyecircn viacute dụ
tecircn_người_dugravengtecircn_miềncomcơ_quan vagrave tecircn_người_dugravengtecircn_miềncomnhagrave
Khocircng cần thiết chỉ định phần tagravei nguyecircn khi liecircn lạc với người dugraveng khaacutec
Tương tự như Sendmail người dugraveng Jabber coacute thể truy cập vagraveo caacutec giao thức
khaacutec qua cổng giao tiếp Jabber (Jabber Transport) viacute dụ JID của một địa chỉ lagrave
tecircn_người_dugravengmsncommsnjabberservercom
Tecircn người dugraveng trong JID dagravei tối đa 1023 kyacute tự vagrave khocircng được chứa
lt gt amp khoảng trắng vagrave kyacute tự điều khiển
JID
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Add thư viện agsXMPP vagraveo project Khai baacuteo để sử dụng
Xacircy dựng tiacutenh năng chat qua
facebook server
Để coacute thể đăng nhập vagraveo dịch vụ chat ta cần phải coacute username của người dugraveng vagrave
password Username của người dugraveng coacute thể tigravem thấy dưới dạng
Sau khi đatilde coacute username vagrave pass của người dugraveng chuacuteng ta tiến hagravenh đăng nhập
XmppClientConnection xmpp
xmpp = new XmppClientConnection(ldquochatfacebookcomrdquo)
xmppOpen(username password)
if (xmppAuthenticated == true)
Presence p = new Presence(ShowTypechat Online)pType = PresenceTypeavailable
xmppSend(p)
ThreadSleep(6000)
httpswwwfacebookcom[username]
Khai baacuteo
XAcircY DỰNG CHỨC NĂNG CHAT
Tecircn server chat
của facebookDừng lại để chờ
server xaacutec thực
Username
chỗ nagravey
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Add bạn begrave vagraveo danh saacutech chat
xmppMessageGrabberAdd(new Jid(- + friendId + chatfacebookcom)
new BareJidComparer()
new MessageCB(MessageCallBack)
null)
ID của bạn begrave
Hagravem nhận sự kiện
khi coacute tin nhắn tới
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Hagravem nhận sự kiện tin nhắn đến
void MessageCallBack(object sender Message msg object data)
if (msgBody = null)displayMessage()
Đacircy lagrave hagravem chịu traacutech
nhiệm xử liacute vagrave hiển thị tin
nhắn
Xacircy dựng tiacutenh năng chat qua
facebook server
Gửi tin nhắn đi
xmppSend(new Message(new Jid(ldquo-rdquo + friendID + chatfacebookcom)
MessageTypechat
messageBody))
Nội dung tin
nhắn gửi đi
ID của bạn begrave sẽ
nhận tin nhắn
XAcircY DỰNG CHỨC NĂNG CHAT
Xacircy dựng tiacutenh năng chat qua
facebook server Như vậy chuacuteng ta đatilde coacute thể hoagraven thagravenh được tiacutenh năng
chat facebook sử dụng thư viecircn agsxmppdll
Cảm ơn thầy vagrave caacutec
bạn đatilde quan tacircm
theo dotildei
Giới thiệu về bộ thư viện
facebookdll
Giới thiệu về facebook deverlopers
Giới thiệu về bộ thư viện facebookdll
Tương taacutec với facebook qua facebookdll
Xacircy dựng tiacutenh năng chat qua facebook server
Trước tiecircn để coacute thể lagravem việc với facebook thocircng qua bộ thư viện đatilde tải
về chuacuteng ta phải tạo một app trecircn trang chủ dagravenh cho nhagrave phaacutet triển của
Truy cập httpsdevelopersfacebookcomapps
Lagravem theo caacutec hướng dẫn của facebook để đăng kiacute trở thagravenh nhagrave phaacutet triển
Tương taacutec với facebook qua
facebookdll
Tương taacutec với facebook qua
facebookdllSau khi đatilde đăng kiacute xong tiến hagravenh tạo một app theo hướng dẫn
Giữ lại AppID vagrave SecretID để sử dụng sau nagravey
Tương taacutec với facebook qua
facebookdll Class FacebookClient
Function Description
object Get() Makes a GET request to the Facebook server
object Post() Makes a POST request to the Facebook server
Uri GetLoginUrl(object parameters) Gets the Facebook OAuth login url
Uri GetLogoutUrl(object parameters)Gets the Facebook OAuth logout url
object ParseDialogCallbackUrl(Uri uri) Parses the dialog callback url to an object of the resulting data
bool TryParseOAuthCallbackUrl(Uri url out
FacebookOAuthResult facebookOAuthResult)Try parsing the url to FacebookFacebookOAuthResult
Tương taacutec với facebook qua
facebookdllFunction Description
FacebookOAuthResult ParseOAuthCallbackUrl(Uri uri) Parse the url to FacebookFacebookOAuthResult
object Delete(string path object parameters) Makes a DELETE request to the Facebook server
void CancelAsync() Cancels asynchronous requests
void VerifyGetSubscription(string requestHubMode
string requestVerifyToken string requestHubChallenge)
Verify HTTP_X_HUB_SIGNATURE for HTTP
GET
object VerifyPostSubscription(string
requestHttpXHubSignature string requestBody string
appSecret)
Verify HTTP_X_HUB_SIGNATURE for HTTP
POST
Tương taacutec với facebook qua
facebookdll VD Lấy Url login của app
bull Trước tiecircn tạo một đối tượng FacebookClient
FacebookClient _fb=new FacebookClient()
Uri _loginUrl = _fbGetLoginUrl(object parameter)
Client_id App ID
redirect_uri Địa chỉ trang web trả về khi yecircu cầu thagravenh
cocircng
scope Phạm vi truy xuất thocircng tin của ứng dụng
display Caacutech thức trigravenh bagravey trang login
response_type Kiểu đối tượng trả về
parameterVd Uri _loginUrl=_fbGetLoginUrl(new
client_id = _appID
redirect_uri = _redirectUri
scope=ldquouser_about_me publish_streamrdquo
display=ldquopopuprdquo
Response_type=ldquotokenrdquo
)
bull Yecircu cầu url login sử dụng hagravem
Tương taacutec với facebook qua
facebookdll VD Đăng nhập facebook bằng loginUrl đatilde coacute
WebBrowser loginBrowser = new WebBrowser()logiBrowserNavigate(_loginUrl)
bull Kiểm tra đăng nhập vagrave nhận AccessToken
bull Tạo một đối tượng WebBrowser
void loginBrower_navigated(object sender NavigationEventArgs e)
FacebookOAuthResult _resultif(_fbTryParseOAuthCallbackUri(euri _result)
_accessToken=_resultAccessToken
Tương taacutec với facebook qua
facebookdll Hagravem Get
Function Description
virtual object Get(string path) Makes a GET request to the Facebook server
virtual object Get(string path object parameters) Makes a GET request to the Facebook server
virtual object Get(string path object parameters
Type resultType)Makes a GET request to the Facebook server
virtual void GetAsync(string path object parameters
object userState)
Makes an asynchronous GET request to the Facebook
server
VD Lấy thocircng tin người dugraveng
bull Để lấy thocircng tin người dugraveng ta sử dụng hagravem Get
_fbGet(string path)
VD var info=_fbGet(ldquomerdquo)
Tương taacutec với facebook qua
facebookdll
VD Lấy danh saacutech bạn begrave
bull Để lấy danh saacutech bạn begrave ta sử dụng hagravem Get
_fbGet(string path)
VD var info=_fbGet(ldquomefriendsrdquo)
Tương taacutec với facebook qua
facebookdll
VD Lấy danh saacutech bạn begrave online
bull Để lấy danh saacutech bạn begrave online ta sử dụng hagravem Get
_fbGet(string path object parameters)
VD
Tương taacutec với facebook qua
facebookdll
VD Lấy danh saacutech Albums của người dugraveng
bull Để lấy danh saacutech album ta dugraveng hagravem
_fbGet(string path)
VD var info=_fbGet(ldquomealbumsrdquo)
Tương taacutec với facebook qua
facebookdll
Hagravem Post
Function Description
virtual object Post(object parameters) Makes a POST request to the Facebook server
virtual object Post(string path object parameters) Makes a POST request to the Facebook server
virtual void PostAsync(object parameters)Makes an asynchronous POST request to the
Facebook server
virtual Taskltobjectgt PostTaskAsync(string path
object parameters)
Makes an asynchronous POST request to the
Facebook server
Tương taacutec với facebook qua
facebookdll
VD Post 1 status lecircn tường
bull Để post status lecircn trang chủ ta sử dụng hagravem Post
_fbPost(string Path object parameter)
VD
Tương taacutec với facebook qua
facebookdll
VD Post 1 higravenh lecircn tường
bull Để post higravenh lecircn trang chủ ta sử dụng hagravem Post
_fbPost(string Path object parameter)
VD
Tương taacutec với facebook qua
facebookdll
Giới thiệu về facebook deverlopers
Giới thiệu về bộ thư viện facebookdll
Tương taacutec với facebook qua facebookdll
Xacircy dựng tiacutenh năng chat qua facebook server
Xacircy dựng tiacutenh năng chat qua
facebook server
Chuacuteng ta sử dụng bộ thư viện agsxmppdll do cocircng ty AG-Software cung cấp
Đacircy lagrave một bộ thư viện được cung cấp miễn phiacute vagrave dựa trecircn phương thức
xmpp
VẤN ĐỀ
Bộ thư viecircn facebookdll khocircng hỗ trợ việc xacircy dựng tiacutenh năng chat
Phiacutea Facebook khocircng hỗ trợ caacutec hagravem API để xacircy dựng tiacutenh năng
chat magrave chỉ hỗ trợ xacircy dựng tiacutenh năng chat thocircng qua giao thức
xmpp (Extensible Messaging and Presence Protocol)
GIẢI PHAacuteP
Link download bộ thư viện agsxmppdll
httpwwwag-softwarenetagsxmpp-sdk
Xacircy dựng tiacutenh năng chat qua
facebook server
Extensible Messaging and Presence Protocol (XMPP) trước đacircy lagrave Jabber lagrave
giao thức mở vagrave dựa trecircn nền tảng XML dugraveng trong nhắn tin nhanh (instant
messaging) vagrave thocircng tin hiện diện trực tuyến (presence information) Theo Hội
Tiecircu chuẩn XMPP (XMPP Standards Foundation trước đacircy lagrave Jabber Software
Foundation JSF) phần mềm dựa trecircn Jabber được triển khai tại hagraveng ngagraven maacutey
phục vụ trecircn Internet vagrave được hơn 10 triệu người trecircn khắp thế giới sử dụng
Jeremie Miller khởi đầu dự aacuten vagraveo năm 1998 phiecircn bản đầu tiecircn được cocircng bố
vagraveo thaacuteng năm 2000 Sản phẩm chiacutenh của dự aacuten lagrave jabberd một trigravenh phục vụ
(server) để từ đoacute caacutec trigravenh khaacutech (client) kết nối đến vagrave trao đổi tin nhắn Trigravenh
phục vụ nagravey coacute thể tạo mạng Jabber riecircng tư (như sau tường lửa) hoặc coacute thể tham
gia vagraveo mạng Jabber cocircng cộng toagraven cầu Đặc tiacutenh cốt lotildei của Jabber lagrave bản chất
của hệ thống tin nhắn nhanh phacircn taacuten vagrave việc sử dụng streaming XML
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
Điểm đặc trưng của hệ thống Jabber lagrave noacute coacute caacutec transport cograven được gọi lagrave
gateway (cổng) cho pheacutep người dugraveng truy cập mạng với caacutec giao thức khaacutec - như
AIM vagrave ICQ (dugraveng OSCAR) MSN Messenger vagrave Windows Messenger (dugraveng Dịch
vụ nhắn tin NET - NET Messenger Service) Yahoo Messenger SMS hay E-mail
Khocircng như caacutec trigravenh khaacutech đa giao thức như Trillian hay Gaim việc truy cập đến
caacutec giao thức khaacutec được Jabber cung cấp ở cấp độ trigravenh phục vụ bằng caacutech truyền
thocircng tin qua caacutec dịch vụ cổng đặc biệt chạy trecircn một maacutey tiacutenh ở xa Bất cứ người
dugraveng nagraveo cũng coacute thể đăng kiacute với một trong caacutec cổng nagravey bằng caacutech cung cấp
thocircng tin cần thiết để đăng nhập vagraveo mạng đoacute vagrave từ đoacute coacute thể liecircn lạc với người
dugraveng của mạng khaacutec như thể họ lagrave người dugraveng Jabber Điều nagravey coacute nghĩa lagrave bất cứ
trigravenh khaacutech nagraveo hỗ trợ đầy đủ giao thức Jabber đều coacute thể được dugraveng để truy cập bất
cứ mạng nagraveo coacute cổng kết nối magrave khocircng cần thecircm dograveng matilde lệnh nagraveo từ trigravenh khaacutech
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
Nền tảng của giao thức Jabber hiện được Tổ chức Phần mềm Jabber quản liacute
đatilde được IETF chấp nhận lagravem giao thức standards-track dưới tecircn XMPP với
RFC 3920 Noacute thường được xem lagrave đối thủ cạnh tranh với SIMPLE dựa trecircn
giao thức SIP để lagravem giao thức chuẩn cho nhắn tin nhanh vagrave thocircng baacuteo hiện
diện tuy nhiecircn thiết kế của XMPP được nhắm đến việc cung cấp caacutec tiện iacutech
trigravenh trung gian (middleware) liecircn ứng dụng vagrave mục điacutech tổng quaacutet
Người dugraveng Jabber được xaacutec định bằng tecircn người dugraveng vagrave tecircn maacutey phục vụ
caacutech nhau bằng dấu Căn cước nagravey được gọi lagrave Jabber ID hay JID
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
JID coacute dạng thức tecircn_người_dugravengtecircn_miềntagravei_nguyecircn tương tự như một địa
chỉ email
Người dugraveng Jabber coacute thể truy cập vagraveo tagravei khoản của migravenh cugraveng luacutec tại nhiều điểm
truy cập khaacutec nhau được xaacutec định qua phần tagravei_nguyecircn viacute dụ
tecircn_người_dugravengtecircn_miềncomcơ_quan vagrave tecircn_người_dugravengtecircn_miềncomnhagrave
Khocircng cần thiết chỉ định phần tagravei nguyecircn khi liecircn lạc với người dugraveng khaacutec
Tương tự như Sendmail người dugraveng Jabber coacute thể truy cập vagraveo caacutec giao thức
khaacutec qua cổng giao tiếp Jabber (Jabber Transport) viacute dụ JID của một địa chỉ lagrave
tecircn_người_dugravengmsncommsnjabberservercom
Tecircn người dugraveng trong JID dagravei tối đa 1023 kyacute tự vagrave khocircng được chứa
lt gt amp khoảng trắng vagrave kyacute tự điều khiển
JID
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Add thư viện agsXMPP vagraveo project Khai baacuteo để sử dụng
Xacircy dựng tiacutenh năng chat qua
facebook server
Để coacute thể đăng nhập vagraveo dịch vụ chat ta cần phải coacute username của người dugraveng vagrave
password Username của người dugraveng coacute thể tigravem thấy dưới dạng
Sau khi đatilde coacute username vagrave pass của người dugraveng chuacuteng ta tiến hagravenh đăng nhập
XmppClientConnection xmpp
xmpp = new XmppClientConnection(ldquochatfacebookcomrdquo)
xmppOpen(username password)
if (xmppAuthenticated == true)
Presence p = new Presence(ShowTypechat Online)pType = PresenceTypeavailable
xmppSend(p)
ThreadSleep(6000)
httpswwwfacebookcom[username]
Khai baacuteo
XAcircY DỰNG CHỨC NĂNG CHAT
Tecircn server chat
của facebookDừng lại để chờ
server xaacutec thực
Username
chỗ nagravey
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Add bạn begrave vagraveo danh saacutech chat
xmppMessageGrabberAdd(new Jid(- + friendId + chatfacebookcom)
new BareJidComparer()
new MessageCB(MessageCallBack)
null)
ID của bạn begrave
Hagravem nhận sự kiện
khi coacute tin nhắn tới
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Hagravem nhận sự kiện tin nhắn đến
void MessageCallBack(object sender Message msg object data)
if (msgBody = null)displayMessage()
Đacircy lagrave hagravem chịu traacutech
nhiệm xử liacute vagrave hiển thị tin
nhắn
Xacircy dựng tiacutenh năng chat qua
facebook server
Gửi tin nhắn đi
xmppSend(new Message(new Jid(ldquo-rdquo + friendID + chatfacebookcom)
MessageTypechat
messageBody))
Nội dung tin
nhắn gửi đi
ID của bạn begrave sẽ
nhận tin nhắn
XAcircY DỰNG CHỨC NĂNG CHAT
Xacircy dựng tiacutenh năng chat qua
facebook server Như vậy chuacuteng ta đatilde coacute thể hoagraven thagravenh được tiacutenh năng
chat facebook sử dụng thư viecircn agsxmppdll
Cảm ơn thầy vagrave caacutec
bạn đatilde quan tacircm
theo dotildei
Giới thiệu về facebook deverlopers
Giới thiệu về bộ thư viện facebookdll
Tương taacutec với facebook qua facebookdll
Xacircy dựng tiacutenh năng chat qua facebook server
Trước tiecircn để coacute thể lagravem việc với facebook thocircng qua bộ thư viện đatilde tải
về chuacuteng ta phải tạo một app trecircn trang chủ dagravenh cho nhagrave phaacutet triển của
Truy cập httpsdevelopersfacebookcomapps
Lagravem theo caacutec hướng dẫn của facebook để đăng kiacute trở thagravenh nhagrave phaacutet triển
Tương taacutec với facebook qua
facebookdll
Tương taacutec với facebook qua
facebookdllSau khi đatilde đăng kiacute xong tiến hagravenh tạo một app theo hướng dẫn
Giữ lại AppID vagrave SecretID để sử dụng sau nagravey
Tương taacutec với facebook qua
facebookdll Class FacebookClient
Function Description
object Get() Makes a GET request to the Facebook server
object Post() Makes a POST request to the Facebook server
Uri GetLoginUrl(object parameters) Gets the Facebook OAuth login url
Uri GetLogoutUrl(object parameters)Gets the Facebook OAuth logout url
object ParseDialogCallbackUrl(Uri uri) Parses the dialog callback url to an object of the resulting data
bool TryParseOAuthCallbackUrl(Uri url out
FacebookOAuthResult facebookOAuthResult)Try parsing the url to FacebookFacebookOAuthResult
Tương taacutec với facebook qua
facebookdllFunction Description
FacebookOAuthResult ParseOAuthCallbackUrl(Uri uri) Parse the url to FacebookFacebookOAuthResult
object Delete(string path object parameters) Makes a DELETE request to the Facebook server
void CancelAsync() Cancels asynchronous requests
void VerifyGetSubscription(string requestHubMode
string requestVerifyToken string requestHubChallenge)
Verify HTTP_X_HUB_SIGNATURE for HTTP
GET
object VerifyPostSubscription(string
requestHttpXHubSignature string requestBody string
appSecret)
Verify HTTP_X_HUB_SIGNATURE for HTTP
POST
Tương taacutec với facebook qua
facebookdll VD Lấy Url login của app
bull Trước tiecircn tạo một đối tượng FacebookClient
FacebookClient _fb=new FacebookClient()
Uri _loginUrl = _fbGetLoginUrl(object parameter)
Client_id App ID
redirect_uri Địa chỉ trang web trả về khi yecircu cầu thagravenh
cocircng
scope Phạm vi truy xuất thocircng tin của ứng dụng
display Caacutech thức trigravenh bagravey trang login
response_type Kiểu đối tượng trả về
parameterVd Uri _loginUrl=_fbGetLoginUrl(new
client_id = _appID
redirect_uri = _redirectUri
scope=ldquouser_about_me publish_streamrdquo
display=ldquopopuprdquo
Response_type=ldquotokenrdquo
)
bull Yecircu cầu url login sử dụng hagravem
Tương taacutec với facebook qua
facebookdll VD Đăng nhập facebook bằng loginUrl đatilde coacute
WebBrowser loginBrowser = new WebBrowser()logiBrowserNavigate(_loginUrl)
bull Kiểm tra đăng nhập vagrave nhận AccessToken
bull Tạo một đối tượng WebBrowser
void loginBrower_navigated(object sender NavigationEventArgs e)
FacebookOAuthResult _resultif(_fbTryParseOAuthCallbackUri(euri _result)
_accessToken=_resultAccessToken
Tương taacutec với facebook qua
facebookdll Hagravem Get
Function Description
virtual object Get(string path) Makes a GET request to the Facebook server
virtual object Get(string path object parameters) Makes a GET request to the Facebook server
virtual object Get(string path object parameters
Type resultType)Makes a GET request to the Facebook server
virtual void GetAsync(string path object parameters
object userState)
Makes an asynchronous GET request to the Facebook
server
VD Lấy thocircng tin người dugraveng
bull Để lấy thocircng tin người dugraveng ta sử dụng hagravem Get
_fbGet(string path)
VD var info=_fbGet(ldquomerdquo)
Tương taacutec với facebook qua
facebookdll
VD Lấy danh saacutech bạn begrave
bull Để lấy danh saacutech bạn begrave ta sử dụng hagravem Get
_fbGet(string path)
VD var info=_fbGet(ldquomefriendsrdquo)
Tương taacutec với facebook qua
facebookdll
VD Lấy danh saacutech bạn begrave online
bull Để lấy danh saacutech bạn begrave online ta sử dụng hagravem Get
_fbGet(string path object parameters)
VD
Tương taacutec với facebook qua
facebookdll
VD Lấy danh saacutech Albums của người dugraveng
bull Để lấy danh saacutech album ta dugraveng hagravem
_fbGet(string path)
VD var info=_fbGet(ldquomealbumsrdquo)
Tương taacutec với facebook qua
facebookdll
Hagravem Post
Function Description
virtual object Post(object parameters) Makes a POST request to the Facebook server
virtual object Post(string path object parameters) Makes a POST request to the Facebook server
virtual void PostAsync(object parameters)Makes an asynchronous POST request to the
Facebook server
virtual Taskltobjectgt PostTaskAsync(string path
object parameters)
Makes an asynchronous POST request to the
Facebook server
Tương taacutec với facebook qua
facebookdll
VD Post 1 status lecircn tường
bull Để post status lecircn trang chủ ta sử dụng hagravem Post
_fbPost(string Path object parameter)
VD
Tương taacutec với facebook qua
facebookdll
VD Post 1 higravenh lecircn tường
bull Để post higravenh lecircn trang chủ ta sử dụng hagravem Post
_fbPost(string Path object parameter)
VD
Tương taacutec với facebook qua
facebookdll
Giới thiệu về facebook deverlopers
Giới thiệu về bộ thư viện facebookdll
Tương taacutec với facebook qua facebookdll
Xacircy dựng tiacutenh năng chat qua facebook server
Xacircy dựng tiacutenh năng chat qua
facebook server
Chuacuteng ta sử dụng bộ thư viện agsxmppdll do cocircng ty AG-Software cung cấp
Đacircy lagrave một bộ thư viện được cung cấp miễn phiacute vagrave dựa trecircn phương thức
xmpp
VẤN ĐỀ
Bộ thư viecircn facebookdll khocircng hỗ trợ việc xacircy dựng tiacutenh năng chat
Phiacutea Facebook khocircng hỗ trợ caacutec hagravem API để xacircy dựng tiacutenh năng
chat magrave chỉ hỗ trợ xacircy dựng tiacutenh năng chat thocircng qua giao thức
xmpp (Extensible Messaging and Presence Protocol)
GIẢI PHAacuteP
Link download bộ thư viện agsxmppdll
httpwwwag-softwarenetagsxmpp-sdk
Xacircy dựng tiacutenh năng chat qua
facebook server
Extensible Messaging and Presence Protocol (XMPP) trước đacircy lagrave Jabber lagrave
giao thức mở vagrave dựa trecircn nền tảng XML dugraveng trong nhắn tin nhanh (instant
messaging) vagrave thocircng tin hiện diện trực tuyến (presence information) Theo Hội
Tiecircu chuẩn XMPP (XMPP Standards Foundation trước đacircy lagrave Jabber Software
Foundation JSF) phần mềm dựa trecircn Jabber được triển khai tại hagraveng ngagraven maacutey
phục vụ trecircn Internet vagrave được hơn 10 triệu người trecircn khắp thế giới sử dụng
Jeremie Miller khởi đầu dự aacuten vagraveo năm 1998 phiecircn bản đầu tiecircn được cocircng bố
vagraveo thaacuteng năm 2000 Sản phẩm chiacutenh của dự aacuten lagrave jabberd một trigravenh phục vụ
(server) để từ đoacute caacutec trigravenh khaacutech (client) kết nối đến vagrave trao đổi tin nhắn Trigravenh
phục vụ nagravey coacute thể tạo mạng Jabber riecircng tư (như sau tường lửa) hoặc coacute thể tham
gia vagraveo mạng Jabber cocircng cộng toagraven cầu Đặc tiacutenh cốt lotildei của Jabber lagrave bản chất
của hệ thống tin nhắn nhanh phacircn taacuten vagrave việc sử dụng streaming XML
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
Điểm đặc trưng của hệ thống Jabber lagrave noacute coacute caacutec transport cograven được gọi lagrave
gateway (cổng) cho pheacutep người dugraveng truy cập mạng với caacutec giao thức khaacutec - như
AIM vagrave ICQ (dugraveng OSCAR) MSN Messenger vagrave Windows Messenger (dugraveng Dịch
vụ nhắn tin NET - NET Messenger Service) Yahoo Messenger SMS hay E-mail
Khocircng như caacutec trigravenh khaacutech đa giao thức như Trillian hay Gaim việc truy cập đến
caacutec giao thức khaacutec được Jabber cung cấp ở cấp độ trigravenh phục vụ bằng caacutech truyền
thocircng tin qua caacutec dịch vụ cổng đặc biệt chạy trecircn một maacutey tiacutenh ở xa Bất cứ người
dugraveng nagraveo cũng coacute thể đăng kiacute với một trong caacutec cổng nagravey bằng caacutech cung cấp
thocircng tin cần thiết để đăng nhập vagraveo mạng đoacute vagrave từ đoacute coacute thể liecircn lạc với người
dugraveng của mạng khaacutec như thể họ lagrave người dugraveng Jabber Điều nagravey coacute nghĩa lagrave bất cứ
trigravenh khaacutech nagraveo hỗ trợ đầy đủ giao thức Jabber đều coacute thể được dugraveng để truy cập bất
cứ mạng nagraveo coacute cổng kết nối magrave khocircng cần thecircm dograveng matilde lệnh nagraveo từ trigravenh khaacutech
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
Nền tảng của giao thức Jabber hiện được Tổ chức Phần mềm Jabber quản liacute
đatilde được IETF chấp nhận lagravem giao thức standards-track dưới tecircn XMPP với
RFC 3920 Noacute thường được xem lagrave đối thủ cạnh tranh với SIMPLE dựa trecircn
giao thức SIP để lagravem giao thức chuẩn cho nhắn tin nhanh vagrave thocircng baacuteo hiện
diện tuy nhiecircn thiết kế của XMPP được nhắm đến việc cung cấp caacutec tiện iacutech
trigravenh trung gian (middleware) liecircn ứng dụng vagrave mục điacutech tổng quaacutet
Người dugraveng Jabber được xaacutec định bằng tecircn người dugraveng vagrave tecircn maacutey phục vụ
caacutech nhau bằng dấu Căn cước nagravey được gọi lagrave Jabber ID hay JID
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
JID coacute dạng thức tecircn_người_dugravengtecircn_miềntagravei_nguyecircn tương tự như một địa
chỉ email
Người dugraveng Jabber coacute thể truy cập vagraveo tagravei khoản của migravenh cugraveng luacutec tại nhiều điểm
truy cập khaacutec nhau được xaacutec định qua phần tagravei_nguyecircn viacute dụ
tecircn_người_dugravengtecircn_miềncomcơ_quan vagrave tecircn_người_dugravengtecircn_miềncomnhagrave
Khocircng cần thiết chỉ định phần tagravei nguyecircn khi liecircn lạc với người dugraveng khaacutec
Tương tự như Sendmail người dugraveng Jabber coacute thể truy cập vagraveo caacutec giao thức
khaacutec qua cổng giao tiếp Jabber (Jabber Transport) viacute dụ JID của một địa chỉ lagrave
tecircn_người_dugravengmsncommsnjabberservercom
Tecircn người dugraveng trong JID dagravei tối đa 1023 kyacute tự vagrave khocircng được chứa
lt gt amp khoảng trắng vagrave kyacute tự điều khiển
JID
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Add thư viện agsXMPP vagraveo project Khai baacuteo để sử dụng
Xacircy dựng tiacutenh năng chat qua
facebook server
Để coacute thể đăng nhập vagraveo dịch vụ chat ta cần phải coacute username của người dugraveng vagrave
password Username của người dugraveng coacute thể tigravem thấy dưới dạng
Sau khi đatilde coacute username vagrave pass của người dugraveng chuacuteng ta tiến hagravenh đăng nhập
XmppClientConnection xmpp
xmpp = new XmppClientConnection(ldquochatfacebookcomrdquo)
xmppOpen(username password)
if (xmppAuthenticated == true)
Presence p = new Presence(ShowTypechat Online)pType = PresenceTypeavailable
xmppSend(p)
ThreadSleep(6000)
httpswwwfacebookcom[username]
Khai baacuteo
XAcircY DỰNG CHỨC NĂNG CHAT
Tecircn server chat
của facebookDừng lại để chờ
server xaacutec thực
Username
chỗ nagravey
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Add bạn begrave vagraveo danh saacutech chat
xmppMessageGrabberAdd(new Jid(- + friendId + chatfacebookcom)
new BareJidComparer()
new MessageCB(MessageCallBack)
null)
ID của bạn begrave
Hagravem nhận sự kiện
khi coacute tin nhắn tới
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Hagravem nhận sự kiện tin nhắn đến
void MessageCallBack(object sender Message msg object data)
if (msgBody = null)displayMessage()
Đacircy lagrave hagravem chịu traacutech
nhiệm xử liacute vagrave hiển thị tin
nhắn
Xacircy dựng tiacutenh năng chat qua
facebook server
Gửi tin nhắn đi
xmppSend(new Message(new Jid(ldquo-rdquo + friendID + chatfacebookcom)
MessageTypechat
messageBody))
Nội dung tin
nhắn gửi đi
ID của bạn begrave sẽ
nhận tin nhắn
XAcircY DỰNG CHỨC NĂNG CHAT
Xacircy dựng tiacutenh năng chat qua
facebook server Như vậy chuacuteng ta đatilde coacute thể hoagraven thagravenh được tiacutenh năng
chat facebook sử dụng thư viecircn agsxmppdll
Cảm ơn thầy vagrave caacutec
bạn đatilde quan tacircm
theo dotildei
Trước tiecircn để coacute thể lagravem việc với facebook thocircng qua bộ thư viện đatilde tải
về chuacuteng ta phải tạo một app trecircn trang chủ dagravenh cho nhagrave phaacutet triển của
Truy cập httpsdevelopersfacebookcomapps
Lagravem theo caacutec hướng dẫn của facebook để đăng kiacute trở thagravenh nhagrave phaacutet triển
Tương taacutec với facebook qua
facebookdll
Tương taacutec với facebook qua
facebookdllSau khi đatilde đăng kiacute xong tiến hagravenh tạo một app theo hướng dẫn
Giữ lại AppID vagrave SecretID để sử dụng sau nagravey
Tương taacutec với facebook qua
facebookdll Class FacebookClient
Function Description
object Get() Makes a GET request to the Facebook server
object Post() Makes a POST request to the Facebook server
Uri GetLoginUrl(object parameters) Gets the Facebook OAuth login url
Uri GetLogoutUrl(object parameters)Gets the Facebook OAuth logout url
object ParseDialogCallbackUrl(Uri uri) Parses the dialog callback url to an object of the resulting data
bool TryParseOAuthCallbackUrl(Uri url out
FacebookOAuthResult facebookOAuthResult)Try parsing the url to FacebookFacebookOAuthResult
Tương taacutec với facebook qua
facebookdllFunction Description
FacebookOAuthResult ParseOAuthCallbackUrl(Uri uri) Parse the url to FacebookFacebookOAuthResult
object Delete(string path object parameters) Makes a DELETE request to the Facebook server
void CancelAsync() Cancels asynchronous requests
void VerifyGetSubscription(string requestHubMode
string requestVerifyToken string requestHubChallenge)
Verify HTTP_X_HUB_SIGNATURE for HTTP
GET
object VerifyPostSubscription(string
requestHttpXHubSignature string requestBody string
appSecret)
Verify HTTP_X_HUB_SIGNATURE for HTTP
POST
Tương taacutec với facebook qua
facebookdll VD Lấy Url login của app
bull Trước tiecircn tạo một đối tượng FacebookClient
FacebookClient _fb=new FacebookClient()
Uri _loginUrl = _fbGetLoginUrl(object parameter)
Client_id App ID
redirect_uri Địa chỉ trang web trả về khi yecircu cầu thagravenh
cocircng
scope Phạm vi truy xuất thocircng tin của ứng dụng
display Caacutech thức trigravenh bagravey trang login
response_type Kiểu đối tượng trả về
parameterVd Uri _loginUrl=_fbGetLoginUrl(new
client_id = _appID
redirect_uri = _redirectUri
scope=ldquouser_about_me publish_streamrdquo
display=ldquopopuprdquo
Response_type=ldquotokenrdquo
)
bull Yecircu cầu url login sử dụng hagravem
Tương taacutec với facebook qua
facebookdll VD Đăng nhập facebook bằng loginUrl đatilde coacute
WebBrowser loginBrowser = new WebBrowser()logiBrowserNavigate(_loginUrl)
bull Kiểm tra đăng nhập vagrave nhận AccessToken
bull Tạo một đối tượng WebBrowser
void loginBrower_navigated(object sender NavigationEventArgs e)
FacebookOAuthResult _resultif(_fbTryParseOAuthCallbackUri(euri _result)
_accessToken=_resultAccessToken
Tương taacutec với facebook qua
facebookdll Hagravem Get
Function Description
virtual object Get(string path) Makes a GET request to the Facebook server
virtual object Get(string path object parameters) Makes a GET request to the Facebook server
virtual object Get(string path object parameters
Type resultType)Makes a GET request to the Facebook server
virtual void GetAsync(string path object parameters
object userState)
Makes an asynchronous GET request to the Facebook
server
VD Lấy thocircng tin người dugraveng
bull Để lấy thocircng tin người dugraveng ta sử dụng hagravem Get
_fbGet(string path)
VD var info=_fbGet(ldquomerdquo)
Tương taacutec với facebook qua
facebookdll
VD Lấy danh saacutech bạn begrave
bull Để lấy danh saacutech bạn begrave ta sử dụng hagravem Get
_fbGet(string path)
VD var info=_fbGet(ldquomefriendsrdquo)
Tương taacutec với facebook qua
facebookdll
VD Lấy danh saacutech bạn begrave online
bull Để lấy danh saacutech bạn begrave online ta sử dụng hagravem Get
_fbGet(string path object parameters)
VD
Tương taacutec với facebook qua
facebookdll
VD Lấy danh saacutech Albums của người dugraveng
bull Để lấy danh saacutech album ta dugraveng hagravem
_fbGet(string path)
VD var info=_fbGet(ldquomealbumsrdquo)
Tương taacutec với facebook qua
facebookdll
Hagravem Post
Function Description
virtual object Post(object parameters) Makes a POST request to the Facebook server
virtual object Post(string path object parameters) Makes a POST request to the Facebook server
virtual void PostAsync(object parameters)Makes an asynchronous POST request to the
Facebook server
virtual Taskltobjectgt PostTaskAsync(string path
object parameters)
Makes an asynchronous POST request to the
Facebook server
Tương taacutec với facebook qua
facebookdll
VD Post 1 status lecircn tường
bull Để post status lecircn trang chủ ta sử dụng hagravem Post
_fbPost(string Path object parameter)
VD
Tương taacutec với facebook qua
facebookdll
VD Post 1 higravenh lecircn tường
bull Để post higravenh lecircn trang chủ ta sử dụng hagravem Post
_fbPost(string Path object parameter)
VD
Tương taacutec với facebook qua
facebookdll
Giới thiệu về facebook deverlopers
Giới thiệu về bộ thư viện facebookdll
Tương taacutec với facebook qua facebookdll
Xacircy dựng tiacutenh năng chat qua facebook server
Xacircy dựng tiacutenh năng chat qua
facebook server
Chuacuteng ta sử dụng bộ thư viện agsxmppdll do cocircng ty AG-Software cung cấp
Đacircy lagrave một bộ thư viện được cung cấp miễn phiacute vagrave dựa trecircn phương thức
xmpp
VẤN ĐỀ
Bộ thư viecircn facebookdll khocircng hỗ trợ việc xacircy dựng tiacutenh năng chat
Phiacutea Facebook khocircng hỗ trợ caacutec hagravem API để xacircy dựng tiacutenh năng
chat magrave chỉ hỗ trợ xacircy dựng tiacutenh năng chat thocircng qua giao thức
xmpp (Extensible Messaging and Presence Protocol)
GIẢI PHAacuteP
Link download bộ thư viện agsxmppdll
httpwwwag-softwarenetagsxmpp-sdk
Xacircy dựng tiacutenh năng chat qua
facebook server
Extensible Messaging and Presence Protocol (XMPP) trước đacircy lagrave Jabber lagrave
giao thức mở vagrave dựa trecircn nền tảng XML dugraveng trong nhắn tin nhanh (instant
messaging) vagrave thocircng tin hiện diện trực tuyến (presence information) Theo Hội
Tiecircu chuẩn XMPP (XMPP Standards Foundation trước đacircy lagrave Jabber Software
Foundation JSF) phần mềm dựa trecircn Jabber được triển khai tại hagraveng ngagraven maacutey
phục vụ trecircn Internet vagrave được hơn 10 triệu người trecircn khắp thế giới sử dụng
Jeremie Miller khởi đầu dự aacuten vagraveo năm 1998 phiecircn bản đầu tiecircn được cocircng bố
vagraveo thaacuteng năm 2000 Sản phẩm chiacutenh của dự aacuten lagrave jabberd một trigravenh phục vụ
(server) để từ đoacute caacutec trigravenh khaacutech (client) kết nối đến vagrave trao đổi tin nhắn Trigravenh
phục vụ nagravey coacute thể tạo mạng Jabber riecircng tư (như sau tường lửa) hoặc coacute thể tham
gia vagraveo mạng Jabber cocircng cộng toagraven cầu Đặc tiacutenh cốt lotildei của Jabber lagrave bản chất
của hệ thống tin nhắn nhanh phacircn taacuten vagrave việc sử dụng streaming XML
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
Điểm đặc trưng của hệ thống Jabber lagrave noacute coacute caacutec transport cograven được gọi lagrave
gateway (cổng) cho pheacutep người dugraveng truy cập mạng với caacutec giao thức khaacutec - như
AIM vagrave ICQ (dugraveng OSCAR) MSN Messenger vagrave Windows Messenger (dugraveng Dịch
vụ nhắn tin NET - NET Messenger Service) Yahoo Messenger SMS hay E-mail
Khocircng như caacutec trigravenh khaacutech đa giao thức như Trillian hay Gaim việc truy cập đến
caacutec giao thức khaacutec được Jabber cung cấp ở cấp độ trigravenh phục vụ bằng caacutech truyền
thocircng tin qua caacutec dịch vụ cổng đặc biệt chạy trecircn một maacutey tiacutenh ở xa Bất cứ người
dugraveng nagraveo cũng coacute thể đăng kiacute với một trong caacutec cổng nagravey bằng caacutech cung cấp
thocircng tin cần thiết để đăng nhập vagraveo mạng đoacute vagrave từ đoacute coacute thể liecircn lạc với người
dugraveng của mạng khaacutec như thể họ lagrave người dugraveng Jabber Điều nagravey coacute nghĩa lagrave bất cứ
trigravenh khaacutech nagraveo hỗ trợ đầy đủ giao thức Jabber đều coacute thể được dugraveng để truy cập bất
cứ mạng nagraveo coacute cổng kết nối magrave khocircng cần thecircm dograveng matilde lệnh nagraveo từ trigravenh khaacutech
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
Nền tảng của giao thức Jabber hiện được Tổ chức Phần mềm Jabber quản liacute
đatilde được IETF chấp nhận lagravem giao thức standards-track dưới tecircn XMPP với
RFC 3920 Noacute thường được xem lagrave đối thủ cạnh tranh với SIMPLE dựa trecircn
giao thức SIP để lagravem giao thức chuẩn cho nhắn tin nhanh vagrave thocircng baacuteo hiện
diện tuy nhiecircn thiết kế của XMPP được nhắm đến việc cung cấp caacutec tiện iacutech
trigravenh trung gian (middleware) liecircn ứng dụng vagrave mục điacutech tổng quaacutet
Người dugraveng Jabber được xaacutec định bằng tecircn người dugraveng vagrave tecircn maacutey phục vụ
caacutech nhau bằng dấu Căn cước nagravey được gọi lagrave Jabber ID hay JID
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
JID coacute dạng thức tecircn_người_dugravengtecircn_miềntagravei_nguyecircn tương tự như một địa
chỉ email
Người dugraveng Jabber coacute thể truy cập vagraveo tagravei khoản của migravenh cugraveng luacutec tại nhiều điểm
truy cập khaacutec nhau được xaacutec định qua phần tagravei_nguyecircn viacute dụ
tecircn_người_dugravengtecircn_miềncomcơ_quan vagrave tecircn_người_dugravengtecircn_miềncomnhagrave
Khocircng cần thiết chỉ định phần tagravei nguyecircn khi liecircn lạc với người dugraveng khaacutec
Tương tự như Sendmail người dugraveng Jabber coacute thể truy cập vagraveo caacutec giao thức
khaacutec qua cổng giao tiếp Jabber (Jabber Transport) viacute dụ JID của một địa chỉ lagrave
tecircn_người_dugravengmsncommsnjabberservercom
Tecircn người dugraveng trong JID dagravei tối đa 1023 kyacute tự vagrave khocircng được chứa
lt gt amp khoảng trắng vagrave kyacute tự điều khiển
JID
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Add thư viện agsXMPP vagraveo project Khai baacuteo để sử dụng
Xacircy dựng tiacutenh năng chat qua
facebook server
Để coacute thể đăng nhập vagraveo dịch vụ chat ta cần phải coacute username của người dugraveng vagrave
password Username của người dugraveng coacute thể tigravem thấy dưới dạng
Sau khi đatilde coacute username vagrave pass của người dugraveng chuacuteng ta tiến hagravenh đăng nhập
XmppClientConnection xmpp
xmpp = new XmppClientConnection(ldquochatfacebookcomrdquo)
xmppOpen(username password)
if (xmppAuthenticated == true)
Presence p = new Presence(ShowTypechat Online)pType = PresenceTypeavailable
xmppSend(p)
ThreadSleep(6000)
httpswwwfacebookcom[username]
Khai baacuteo
XAcircY DỰNG CHỨC NĂNG CHAT
Tecircn server chat
của facebookDừng lại để chờ
server xaacutec thực
Username
chỗ nagravey
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Add bạn begrave vagraveo danh saacutech chat
xmppMessageGrabberAdd(new Jid(- + friendId + chatfacebookcom)
new BareJidComparer()
new MessageCB(MessageCallBack)
null)
ID của bạn begrave
Hagravem nhận sự kiện
khi coacute tin nhắn tới
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Hagravem nhận sự kiện tin nhắn đến
void MessageCallBack(object sender Message msg object data)
if (msgBody = null)displayMessage()
Đacircy lagrave hagravem chịu traacutech
nhiệm xử liacute vagrave hiển thị tin
nhắn
Xacircy dựng tiacutenh năng chat qua
facebook server
Gửi tin nhắn đi
xmppSend(new Message(new Jid(ldquo-rdquo + friendID + chatfacebookcom)
MessageTypechat
messageBody))
Nội dung tin
nhắn gửi đi
ID của bạn begrave sẽ
nhận tin nhắn
XAcircY DỰNG CHỨC NĂNG CHAT
Xacircy dựng tiacutenh năng chat qua
facebook server Như vậy chuacuteng ta đatilde coacute thể hoagraven thagravenh được tiacutenh năng
chat facebook sử dụng thư viecircn agsxmppdll
Cảm ơn thầy vagrave caacutec
bạn đatilde quan tacircm
theo dotildei
Tương taacutec với facebook qua
facebookdllSau khi đatilde đăng kiacute xong tiến hagravenh tạo một app theo hướng dẫn
Giữ lại AppID vagrave SecretID để sử dụng sau nagravey
Tương taacutec với facebook qua
facebookdll Class FacebookClient
Function Description
object Get() Makes a GET request to the Facebook server
object Post() Makes a POST request to the Facebook server
Uri GetLoginUrl(object parameters) Gets the Facebook OAuth login url
Uri GetLogoutUrl(object parameters)Gets the Facebook OAuth logout url
object ParseDialogCallbackUrl(Uri uri) Parses the dialog callback url to an object of the resulting data
bool TryParseOAuthCallbackUrl(Uri url out
FacebookOAuthResult facebookOAuthResult)Try parsing the url to FacebookFacebookOAuthResult
Tương taacutec với facebook qua
facebookdllFunction Description
FacebookOAuthResult ParseOAuthCallbackUrl(Uri uri) Parse the url to FacebookFacebookOAuthResult
object Delete(string path object parameters) Makes a DELETE request to the Facebook server
void CancelAsync() Cancels asynchronous requests
void VerifyGetSubscription(string requestHubMode
string requestVerifyToken string requestHubChallenge)
Verify HTTP_X_HUB_SIGNATURE for HTTP
GET
object VerifyPostSubscription(string
requestHttpXHubSignature string requestBody string
appSecret)
Verify HTTP_X_HUB_SIGNATURE for HTTP
POST
Tương taacutec với facebook qua
facebookdll VD Lấy Url login của app
bull Trước tiecircn tạo một đối tượng FacebookClient
FacebookClient _fb=new FacebookClient()
Uri _loginUrl = _fbGetLoginUrl(object parameter)
Client_id App ID
redirect_uri Địa chỉ trang web trả về khi yecircu cầu thagravenh
cocircng
scope Phạm vi truy xuất thocircng tin của ứng dụng
display Caacutech thức trigravenh bagravey trang login
response_type Kiểu đối tượng trả về
parameterVd Uri _loginUrl=_fbGetLoginUrl(new
client_id = _appID
redirect_uri = _redirectUri
scope=ldquouser_about_me publish_streamrdquo
display=ldquopopuprdquo
Response_type=ldquotokenrdquo
)
bull Yecircu cầu url login sử dụng hagravem
Tương taacutec với facebook qua
facebookdll VD Đăng nhập facebook bằng loginUrl đatilde coacute
WebBrowser loginBrowser = new WebBrowser()logiBrowserNavigate(_loginUrl)
bull Kiểm tra đăng nhập vagrave nhận AccessToken
bull Tạo một đối tượng WebBrowser
void loginBrower_navigated(object sender NavigationEventArgs e)
FacebookOAuthResult _resultif(_fbTryParseOAuthCallbackUri(euri _result)
_accessToken=_resultAccessToken
Tương taacutec với facebook qua
facebookdll Hagravem Get
Function Description
virtual object Get(string path) Makes a GET request to the Facebook server
virtual object Get(string path object parameters) Makes a GET request to the Facebook server
virtual object Get(string path object parameters
Type resultType)Makes a GET request to the Facebook server
virtual void GetAsync(string path object parameters
object userState)
Makes an asynchronous GET request to the Facebook
server
VD Lấy thocircng tin người dugraveng
bull Để lấy thocircng tin người dugraveng ta sử dụng hagravem Get
_fbGet(string path)
VD var info=_fbGet(ldquomerdquo)
Tương taacutec với facebook qua
facebookdll
VD Lấy danh saacutech bạn begrave
bull Để lấy danh saacutech bạn begrave ta sử dụng hagravem Get
_fbGet(string path)
VD var info=_fbGet(ldquomefriendsrdquo)
Tương taacutec với facebook qua
facebookdll
VD Lấy danh saacutech bạn begrave online
bull Để lấy danh saacutech bạn begrave online ta sử dụng hagravem Get
_fbGet(string path object parameters)
VD
Tương taacutec với facebook qua
facebookdll
VD Lấy danh saacutech Albums của người dugraveng
bull Để lấy danh saacutech album ta dugraveng hagravem
_fbGet(string path)
VD var info=_fbGet(ldquomealbumsrdquo)
Tương taacutec với facebook qua
facebookdll
Hagravem Post
Function Description
virtual object Post(object parameters) Makes a POST request to the Facebook server
virtual object Post(string path object parameters) Makes a POST request to the Facebook server
virtual void PostAsync(object parameters)Makes an asynchronous POST request to the
Facebook server
virtual Taskltobjectgt PostTaskAsync(string path
object parameters)
Makes an asynchronous POST request to the
Facebook server
Tương taacutec với facebook qua
facebookdll
VD Post 1 status lecircn tường
bull Để post status lecircn trang chủ ta sử dụng hagravem Post
_fbPost(string Path object parameter)
VD
Tương taacutec với facebook qua
facebookdll
VD Post 1 higravenh lecircn tường
bull Để post higravenh lecircn trang chủ ta sử dụng hagravem Post
_fbPost(string Path object parameter)
VD
Tương taacutec với facebook qua
facebookdll
Giới thiệu về facebook deverlopers
Giới thiệu về bộ thư viện facebookdll
Tương taacutec với facebook qua facebookdll
Xacircy dựng tiacutenh năng chat qua facebook server
Xacircy dựng tiacutenh năng chat qua
facebook server
Chuacuteng ta sử dụng bộ thư viện agsxmppdll do cocircng ty AG-Software cung cấp
Đacircy lagrave một bộ thư viện được cung cấp miễn phiacute vagrave dựa trecircn phương thức
xmpp
VẤN ĐỀ
Bộ thư viecircn facebookdll khocircng hỗ trợ việc xacircy dựng tiacutenh năng chat
Phiacutea Facebook khocircng hỗ trợ caacutec hagravem API để xacircy dựng tiacutenh năng
chat magrave chỉ hỗ trợ xacircy dựng tiacutenh năng chat thocircng qua giao thức
xmpp (Extensible Messaging and Presence Protocol)
GIẢI PHAacuteP
Link download bộ thư viện agsxmppdll
httpwwwag-softwarenetagsxmpp-sdk
Xacircy dựng tiacutenh năng chat qua
facebook server
Extensible Messaging and Presence Protocol (XMPP) trước đacircy lagrave Jabber lagrave
giao thức mở vagrave dựa trecircn nền tảng XML dugraveng trong nhắn tin nhanh (instant
messaging) vagrave thocircng tin hiện diện trực tuyến (presence information) Theo Hội
Tiecircu chuẩn XMPP (XMPP Standards Foundation trước đacircy lagrave Jabber Software
Foundation JSF) phần mềm dựa trecircn Jabber được triển khai tại hagraveng ngagraven maacutey
phục vụ trecircn Internet vagrave được hơn 10 triệu người trecircn khắp thế giới sử dụng
Jeremie Miller khởi đầu dự aacuten vagraveo năm 1998 phiecircn bản đầu tiecircn được cocircng bố
vagraveo thaacuteng năm 2000 Sản phẩm chiacutenh của dự aacuten lagrave jabberd một trigravenh phục vụ
(server) để từ đoacute caacutec trigravenh khaacutech (client) kết nối đến vagrave trao đổi tin nhắn Trigravenh
phục vụ nagravey coacute thể tạo mạng Jabber riecircng tư (như sau tường lửa) hoặc coacute thể tham
gia vagraveo mạng Jabber cocircng cộng toagraven cầu Đặc tiacutenh cốt lotildei của Jabber lagrave bản chất
của hệ thống tin nhắn nhanh phacircn taacuten vagrave việc sử dụng streaming XML
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
Điểm đặc trưng của hệ thống Jabber lagrave noacute coacute caacutec transport cograven được gọi lagrave
gateway (cổng) cho pheacutep người dugraveng truy cập mạng với caacutec giao thức khaacutec - như
AIM vagrave ICQ (dugraveng OSCAR) MSN Messenger vagrave Windows Messenger (dugraveng Dịch
vụ nhắn tin NET - NET Messenger Service) Yahoo Messenger SMS hay E-mail
Khocircng như caacutec trigravenh khaacutech đa giao thức như Trillian hay Gaim việc truy cập đến
caacutec giao thức khaacutec được Jabber cung cấp ở cấp độ trigravenh phục vụ bằng caacutech truyền
thocircng tin qua caacutec dịch vụ cổng đặc biệt chạy trecircn một maacutey tiacutenh ở xa Bất cứ người
dugraveng nagraveo cũng coacute thể đăng kiacute với một trong caacutec cổng nagravey bằng caacutech cung cấp
thocircng tin cần thiết để đăng nhập vagraveo mạng đoacute vagrave từ đoacute coacute thể liecircn lạc với người
dugraveng của mạng khaacutec như thể họ lagrave người dugraveng Jabber Điều nagravey coacute nghĩa lagrave bất cứ
trigravenh khaacutech nagraveo hỗ trợ đầy đủ giao thức Jabber đều coacute thể được dugraveng để truy cập bất
cứ mạng nagraveo coacute cổng kết nối magrave khocircng cần thecircm dograveng matilde lệnh nagraveo từ trigravenh khaacutech
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
Nền tảng của giao thức Jabber hiện được Tổ chức Phần mềm Jabber quản liacute
đatilde được IETF chấp nhận lagravem giao thức standards-track dưới tecircn XMPP với
RFC 3920 Noacute thường được xem lagrave đối thủ cạnh tranh với SIMPLE dựa trecircn
giao thức SIP để lagravem giao thức chuẩn cho nhắn tin nhanh vagrave thocircng baacuteo hiện
diện tuy nhiecircn thiết kế của XMPP được nhắm đến việc cung cấp caacutec tiện iacutech
trigravenh trung gian (middleware) liecircn ứng dụng vagrave mục điacutech tổng quaacutet
Người dugraveng Jabber được xaacutec định bằng tecircn người dugraveng vagrave tecircn maacutey phục vụ
caacutech nhau bằng dấu Căn cước nagravey được gọi lagrave Jabber ID hay JID
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
JID coacute dạng thức tecircn_người_dugravengtecircn_miềntagravei_nguyecircn tương tự như một địa
chỉ email
Người dugraveng Jabber coacute thể truy cập vagraveo tagravei khoản của migravenh cugraveng luacutec tại nhiều điểm
truy cập khaacutec nhau được xaacutec định qua phần tagravei_nguyecircn viacute dụ
tecircn_người_dugravengtecircn_miềncomcơ_quan vagrave tecircn_người_dugravengtecircn_miềncomnhagrave
Khocircng cần thiết chỉ định phần tagravei nguyecircn khi liecircn lạc với người dugraveng khaacutec
Tương tự như Sendmail người dugraveng Jabber coacute thể truy cập vagraveo caacutec giao thức
khaacutec qua cổng giao tiếp Jabber (Jabber Transport) viacute dụ JID của một địa chỉ lagrave
tecircn_người_dugravengmsncommsnjabberservercom
Tecircn người dugraveng trong JID dagravei tối đa 1023 kyacute tự vagrave khocircng được chứa
lt gt amp khoảng trắng vagrave kyacute tự điều khiển
JID
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Add thư viện agsXMPP vagraveo project Khai baacuteo để sử dụng
Xacircy dựng tiacutenh năng chat qua
facebook server
Để coacute thể đăng nhập vagraveo dịch vụ chat ta cần phải coacute username của người dugraveng vagrave
password Username của người dugraveng coacute thể tigravem thấy dưới dạng
Sau khi đatilde coacute username vagrave pass của người dugraveng chuacuteng ta tiến hagravenh đăng nhập
XmppClientConnection xmpp
xmpp = new XmppClientConnection(ldquochatfacebookcomrdquo)
xmppOpen(username password)
if (xmppAuthenticated == true)
Presence p = new Presence(ShowTypechat Online)pType = PresenceTypeavailable
xmppSend(p)
ThreadSleep(6000)
httpswwwfacebookcom[username]
Khai baacuteo
XAcircY DỰNG CHỨC NĂNG CHAT
Tecircn server chat
của facebookDừng lại để chờ
server xaacutec thực
Username
chỗ nagravey
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Add bạn begrave vagraveo danh saacutech chat
xmppMessageGrabberAdd(new Jid(- + friendId + chatfacebookcom)
new BareJidComparer()
new MessageCB(MessageCallBack)
null)
ID của bạn begrave
Hagravem nhận sự kiện
khi coacute tin nhắn tới
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Hagravem nhận sự kiện tin nhắn đến
void MessageCallBack(object sender Message msg object data)
if (msgBody = null)displayMessage()
Đacircy lagrave hagravem chịu traacutech
nhiệm xử liacute vagrave hiển thị tin
nhắn
Xacircy dựng tiacutenh năng chat qua
facebook server
Gửi tin nhắn đi
xmppSend(new Message(new Jid(ldquo-rdquo + friendID + chatfacebookcom)
MessageTypechat
messageBody))
Nội dung tin
nhắn gửi đi
ID của bạn begrave sẽ
nhận tin nhắn
XAcircY DỰNG CHỨC NĂNG CHAT
Xacircy dựng tiacutenh năng chat qua
facebook server Như vậy chuacuteng ta đatilde coacute thể hoagraven thagravenh được tiacutenh năng
chat facebook sử dụng thư viecircn agsxmppdll
Cảm ơn thầy vagrave caacutec
bạn đatilde quan tacircm
theo dotildei
Tương taacutec với facebook qua
facebookdll Class FacebookClient
Function Description
object Get() Makes a GET request to the Facebook server
object Post() Makes a POST request to the Facebook server
Uri GetLoginUrl(object parameters) Gets the Facebook OAuth login url
Uri GetLogoutUrl(object parameters)Gets the Facebook OAuth logout url
object ParseDialogCallbackUrl(Uri uri) Parses the dialog callback url to an object of the resulting data
bool TryParseOAuthCallbackUrl(Uri url out
FacebookOAuthResult facebookOAuthResult)Try parsing the url to FacebookFacebookOAuthResult
Tương taacutec với facebook qua
facebookdllFunction Description
FacebookOAuthResult ParseOAuthCallbackUrl(Uri uri) Parse the url to FacebookFacebookOAuthResult
object Delete(string path object parameters) Makes a DELETE request to the Facebook server
void CancelAsync() Cancels asynchronous requests
void VerifyGetSubscription(string requestHubMode
string requestVerifyToken string requestHubChallenge)
Verify HTTP_X_HUB_SIGNATURE for HTTP
GET
object VerifyPostSubscription(string
requestHttpXHubSignature string requestBody string
appSecret)
Verify HTTP_X_HUB_SIGNATURE for HTTP
POST
Tương taacutec với facebook qua
facebookdll VD Lấy Url login của app
bull Trước tiecircn tạo một đối tượng FacebookClient
FacebookClient _fb=new FacebookClient()
Uri _loginUrl = _fbGetLoginUrl(object parameter)
Client_id App ID
redirect_uri Địa chỉ trang web trả về khi yecircu cầu thagravenh
cocircng
scope Phạm vi truy xuất thocircng tin của ứng dụng
display Caacutech thức trigravenh bagravey trang login
response_type Kiểu đối tượng trả về
parameterVd Uri _loginUrl=_fbGetLoginUrl(new
client_id = _appID
redirect_uri = _redirectUri
scope=ldquouser_about_me publish_streamrdquo
display=ldquopopuprdquo
Response_type=ldquotokenrdquo
)
bull Yecircu cầu url login sử dụng hagravem
Tương taacutec với facebook qua
facebookdll VD Đăng nhập facebook bằng loginUrl đatilde coacute
WebBrowser loginBrowser = new WebBrowser()logiBrowserNavigate(_loginUrl)
bull Kiểm tra đăng nhập vagrave nhận AccessToken
bull Tạo một đối tượng WebBrowser
void loginBrower_navigated(object sender NavigationEventArgs e)
FacebookOAuthResult _resultif(_fbTryParseOAuthCallbackUri(euri _result)
_accessToken=_resultAccessToken
Tương taacutec với facebook qua
facebookdll Hagravem Get
Function Description
virtual object Get(string path) Makes a GET request to the Facebook server
virtual object Get(string path object parameters) Makes a GET request to the Facebook server
virtual object Get(string path object parameters
Type resultType)Makes a GET request to the Facebook server
virtual void GetAsync(string path object parameters
object userState)
Makes an asynchronous GET request to the Facebook
server
VD Lấy thocircng tin người dugraveng
bull Để lấy thocircng tin người dugraveng ta sử dụng hagravem Get
_fbGet(string path)
VD var info=_fbGet(ldquomerdquo)
Tương taacutec với facebook qua
facebookdll
VD Lấy danh saacutech bạn begrave
bull Để lấy danh saacutech bạn begrave ta sử dụng hagravem Get
_fbGet(string path)
VD var info=_fbGet(ldquomefriendsrdquo)
Tương taacutec với facebook qua
facebookdll
VD Lấy danh saacutech bạn begrave online
bull Để lấy danh saacutech bạn begrave online ta sử dụng hagravem Get
_fbGet(string path object parameters)
VD
Tương taacutec với facebook qua
facebookdll
VD Lấy danh saacutech Albums của người dugraveng
bull Để lấy danh saacutech album ta dugraveng hagravem
_fbGet(string path)
VD var info=_fbGet(ldquomealbumsrdquo)
Tương taacutec với facebook qua
facebookdll
Hagravem Post
Function Description
virtual object Post(object parameters) Makes a POST request to the Facebook server
virtual object Post(string path object parameters) Makes a POST request to the Facebook server
virtual void PostAsync(object parameters)Makes an asynchronous POST request to the
Facebook server
virtual Taskltobjectgt PostTaskAsync(string path
object parameters)
Makes an asynchronous POST request to the
Facebook server
Tương taacutec với facebook qua
facebookdll
VD Post 1 status lecircn tường
bull Để post status lecircn trang chủ ta sử dụng hagravem Post
_fbPost(string Path object parameter)
VD
Tương taacutec với facebook qua
facebookdll
VD Post 1 higravenh lecircn tường
bull Để post higravenh lecircn trang chủ ta sử dụng hagravem Post
_fbPost(string Path object parameter)
VD
Tương taacutec với facebook qua
facebookdll
Giới thiệu về facebook deverlopers
Giới thiệu về bộ thư viện facebookdll
Tương taacutec với facebook qua facebookdll
Xacircy dựng tiacutenh năng chat qua facebook server
Xacircy dựng tiacutenh năng chat qua
facebook server
Chuacuteng ta sử dụng bộ thư viện agsxmppdll do cocircng ty AG-Software cung cấp
Đacircy lagrave một bộ thư viện được cung cấp miễn phiacute vagrave dựa trecircn phương thức
xmpp
VẤN ĐỀ
Bộ thư viecircn facebookdll khocircng hỗ trợ việc xacircy dựng tiacutenh năng chat
Phiacutea Facebook khocircng hỗ trợ caacutec hagravem API để xacircy dựng tiacutenh năng
chat magrave chỉ hỗ trợ xacircy dựng tiacutenh năng chat thocircng qua giao thức
xmpp (Extensible Messaging and Presence Protocol)
GIẢI PHAacuteP
Link download bộ thư viện agsxmppdll
httpwwwag-softwarenetagsxmpp-sdk
Xacircy dựng tiacutenh năng chat qua
facebook server
Extensible Messaging and Presence Protocol (XMPP) trước đacircy lagrave Jabber lagrave
giao thức mở vagrave dựa trecircn nền tảng XML dugraveng trong nhắn tin nhanh (instant
messaging) vagrave thocircng tin hiện diện trực tuyến (presence information) Theo Hội
Tiecircu chuẩn XMPP (XMPP Standards Foundation trước đacircy lagrave Jabber Software
Foundation JSF) phần mềm dựa trecircn Jabber được triển khai tại hagraveng ngagraven maacutey
phục vụ trecircn Internet vagrave được hơn 10 triệu người trecircn khắp thế giới sử dụng
Jeremie Miller khởi đầu dự aacuten vagraveo năm 1998 phiecircn bản đầu tiecircn được cocircng bố
vagraveo thaacuteng năm 2000 Sản phẩm chiacutenh của dự aacuten lagrave jabberd một trigravenh phục vụ
(server) để từ đoacute caacutec trigravenh khaacutech (client) kết nối đến vagrave trao đổi tin nhắn Trigravenh
phục vụ nagravey coacute thể tạo mạng Jabber riecircng tư (như sau tường lửa) hoặc coacute thể tham
gia vagraveo mạng Jabber cocircng cộng toagraven cầu Đặc tiacutenh cốt lotildei của Jabber lagrave bản chất
của hệ thống tin nhắn nhanh phacircn taacuten vagrave việc sử dụng streaming XML
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
Điểm đặc trưng của hệ thống Jabber lagrave noacute coacute caacutec transport cograven được gọi lagrave
gateway (cổng) cho pheacutep người dugraveng truy cập mạng với caacutec giao thức khaacutec - như
AIM vagrave ICQ (dugraveng OSCAR) MSN Messenger vagrave Windows Messenger (dugraveng Dịch
vụ nhắn tin NET - NET Messenger Service) Yahoo Messenger SMS hay E-mail
Khocircng như caacutec trigravenh khaacutech đa giao thức như Trillian hay Gaim việc truy cập đến
caacutec giao thức khaacutec được Jabber cung cấp ở cấp độ trigravenh phục vụ bằng caacutech truyền
thocircng tin qua caacutec dịch vụ cổng đặc biệt chạy trecircn một maacutey tiacutenh ở xa Bất cứ người
dugraveng nagraveo cũng coacute thể đăng kiacute với một trong caacutec cổng nagravey bằng caacutech cung cấp
thocircng tin cần thiết để đăng nhập vagraveo mạng đoacute vagrave từ đoacute coacute thể liecircn lạc với người
dugraveng của mạng khaacutec như thể họ lagrave người dugraveng Jabber Điều nagravey coacute nghĩa lagrave bất cứ
trigravenh khaacutech nagraveo hỗ trợ đầy đủ giao thức Jabber đều coacute thể được dugraveng để truy cập bất
cứ mạng nagraveo coacute cổng kết nối magrave khocircng cần thecircm dograveng matilde lệnh nagraveo từ trigravenh khaacutech
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
Nền tảng của giao thức Jabber hiện được Tổ chức Phần mềm Jabber quản liacute
đatilde được IETF chấp nhận lagravem giao thức standards-track dưới tecircn XMPP với
RFC 3920 Noacute thường được xem lagrave đối thủ cạnh tranh với SIMPLE dựa trecircn
giao thức SIP để lagravem giao thức chuẩn cho nhắn tin nhanh vagrave thocircng baacuteo hiện
diện tuy nhiecircn thiết kế của XMPP được nhắm đến việc cung cấp caacutec tiện iacutech
trigravenh trung gian (middleware) liecircn ứng dụng vagrave mục điacutech tổng quaacutet
Người dugraveng Jabber được xaacutec định bằng tecircn người dugraveng vagrave tecircn maacutey phục vụ
caacutech nhau bằng dấu Căn cước nagravey được gọi lagrave Jabber ID hay JID
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
JID coacute dạng thức tecircn_người_dugravengtecircn_miềntagravei_nguyecircn tương tự như một địa
chỉ email
Người dugraveng Jabber coacute thể truy cập vagraveo tagravei khoản của migravenh cugraveng luacutec tại nhiều điểm
truy cập khaacutec nhau được xaacutec định qua phần tagravei_nguyecircn viacute dụ
tecircn_người_dugravengtecircn_miềncomcơ_quan vagrave tecircn_người_dugravengtecircn_miềncomnhagrave
Khocircng cần thiết chỉ định phần tagravei nguyecircn khi liecircn lạc với người dugraveng khaacutec
Tương tự như Sendmail người dugraveng Jabber coacute thể truy cập vagraveo caacutec giao thức
khaacutec qua cổng giao tiếp Jabber (Jabber Transport) viacute dụ JID của một địa chỉ lagrave
tecircn_người_dugravengmsncommsnjabberservercom
Tecircn người dugraveng trong JID dagravei tối đa 1023 kyacute tự vagrave khocircng được chứa
lt gt amp khoảng trắng vagrave kyacute tự điều khiển
JID
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Add thư viện agsXMPP vagraveo project Khai baacuteo để sử dụng
Xacircy dựng tiacutenh năng chat qua
facebook server
Để coacute thể đăng nhập vagraveo dịch vụ chat ta cần phải coacute username của người dugraveng vagrave
password Username của người dugraveng coacute thể tigravem thấy dưới dạng
Sau khi đatilde coacute username vagrave pass của người dugraveng chuacuteng ta tiến hagravenh đăng nhập
XmppClientConnection xmpp
xmpp = new XmppClientConnection(ldquochatfacebookcomrdquo)
xmppOpen(username password)
if (xmppAuthenticated == true)
Presence p = new Presence(ShowTypechat Online)pType = PresenceTypeavailable
xmppSend(p)
ThreadSleep(6000)
httpswwwfacebookcom[username]
Khai baacuteo
XAcircY DỰNG CHỨC NĂNG CHAT
Tecircn server chat
của facebookDừng lại để chờ
server xaacutec thực
Username
chỗ nagravey
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Add bạn begrave vagraveo danh saacutech chat
xmppMessageGrabberAdd(new Jid(- + friendId + chatfacebookcom)
new BareJidComparer()
new MessageCB(MessageCallBack)
null)
ID của bạn begrave
Hagravem nhận sự kiện
khi coacute tin nhắn tới
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Hagravem nhận sự kiện tin nhắn đến
void MessageCallBack(object sender Message msg object data)
if (msgBody = null)displayMessage()
Đacircy lagrave hagravem chịu traacutech
nhiệm xử liacute vagrave hiển thị tin
nhắn
Xacircy dựng tiacutenh năng chat qua
facebook server
Gửi tin nhắn đi
xmppSend(new Message(new Jid(ldquo-rdquo + friendID + chatfacebookcom)
MessageTypechat
messageBody))
Nội dung tin
nhắn gửi đi
ID của bạn begrave sẽ
nhận tin nhắn
XAcircY DỰNG CHỨC NĂNG CHAT
Xacircy dựng tiacutenh năng chat qua
facebook server Như vậy chuacuteng ta đatilde coacute thể hoagraven thagravenh được tiacutenh năng
chat facebook sử dụng thư viecircn agsxmppdll
Cảm ơn thầy vagrave caacutec
bạn đatilde quan tacircm
theo dotildei
Tương taacutec với facebook qua
facebookdllFunction Description
FacebookOAuthResult ParseOAuthCallbackUrl(Uri uri) Parse the url to FacebookFacebookOAuthResult
object Delete(string path object parameters) Makes a DELETE request to the Facebook server
void CancelAsync() Cancels asynchronous requests
void VerifyGetSubscription(string requestHubMode
string requestVerifyToken string requestHubChallenge)
Verify HTTP_X_HUB_SIGNATURE for HTTP
GET
object VerifyPostSubscription(string
requestHttpXHubSignature string requestBody string
appSecret)
Verify HTTP_X_HUB_SIGNATURE for HTTP
POST
Tương taacutec với facebook qua
facebookdll VD Lấy Url login của app
bull Trước tiecircn tạo một đối tượng FacebookClient
FacebookClient _fb=new FacebookClient()
Uri _loginUrl = _fbGetLoginUrl(object parameter)
Client_id App ID
redirect_uri Địa chỉ trang web trả về khi yecircu cầu thagravenh
cocircng
scope Phạm vi truy xuất thocircng tin của ứng dụng
display Caacutech thức trigravenh bagravey trang login
response_type Kiểu đối tượng trả về
parameterVd Uri _loginUrl=_fbGetLoginUrl(new
client_id = _appID
redirect_uri = _redirectUri
scope=ldquouser_about_me publish_streamrdquo
display=ldquopopuprdquo
Response_type=ldquotokenrdquo
)
bull Yecircu cầu url login sử dụng hagravem
Tương taacutec với facebook qua
facebookdll VD Đăng nhập facebook bằng loginUrl đatilde coacute
WebBrowser loginBrowser = new WebBrowser()logiBrowserNavigate(_loginUrl)
bull Kiểm tra đăng nhập vagrave nhận AccessToken
bull Tạo một đối tượng WebBrowser
void loginBrower_navigated(object sender NavigationEventArgs e)
FacebookOAuthResult _resultif(_fbTryParseOAuthCallbackUri(euri _result)
_accessToken=_resultAccessToken
Tương taacutec với facebook qua
facebookdll Hagravem Get
Function Description
virtual object Get(string path) Makes a GET request to the Facebook server
virtual object Get(string path object parameters) Makes a GET request to the Facebook server
virtual object Get(string path object parameters
Type resultType)Makes a GET request to the Facebook server
virtual void GetAsync(string path object parameters
object userState)
Makes an asynchronous GET request to the Facebook
server
VD Lấy thocircng tin người dugraveng
bull Để lấy thocircng tin người dugraveng ta sử dụng hagravem Get
_fbGet(string path)
VD var info=_fbGet(ldquomerdquo)
Tương taacutec với facebook qua
facebookdll
VD Lấy danh saacutech bạn begrave
bull Để lấy danh saacutech bạn begrave ta sử dụng hagravem Get
_fbGet(string path)
VD var info=_fbGet(ldquomefriendsrdquo)
Tương taacutec với facebook qua
facebookdll
VD Lấy danh saacutech bạn begrave online
bull Để lấy danh saacutech bạn begrave online ta sử dụng hagravem Get
_fbGet(string path object parameters)
VD
Tương taacutec với facebook qua
facebookdll
VD Lấy danh saacutech Albums của người dugraveng
bull Để lấy danh saacutech album ta dugraveng hagravem
_fbGet(string path)
VD var info=_fbGet(ldquomealbumsrdquo)
Tương taacutec với facebook qua
facebookdll
Hagravem Post
Function Description
virtual object Post(object parameters) Makes a POST request to the Facebook server
virtual object Post(string path object parameters) Makes a POST request to the Facebook server
virtual void PostAsync(object parameters)Makes an asynchronous POST request to the
Facebook server
virtual Taskltobjectgt PostTaskAsync(string path
object parameters)
Makes an asynchronous POST request to the
Facebook server
Tương taacutec với facebook qua
facebookdll
VD Post 1 status lecircn tường
bull Để post status lecircn trang chủ ta sử dụng hagravem Post
_fbPost(string Path object parameter)
VD
Tương taacutec với facebook qua
facebookdll
VD Post 1 higravenh lecircn tường
bull Để post higravenh lecircn trang chủ ta sử dụng hagravem Post
_fbPost(string Path object parameter)
VD
Tương taacutec với facebook qua
facebookdll
Giới thiệu về facebook deverlopers
Giới thiệu về bộ thư viện facebookdll
Tương taacutec với facebook qua facebookdll
Xacircy dựng tiacutenh năng chat qua facebook server
Xacircy dựng tiacutenh năng chat qua
facebook server
Chuacuteng ta sử dụng bộ thư viện agsxmppdll do cocircng ty AG-Software cung cấp
Đacircy lagrave một bộ thư viện được cung cấp miễn phiacute vagrave dựa trecircn phương thức
xmpp
VẤN ĐỀ
Bộ thư viecircn facebookdll khocircng hỗ trợ việc xacircy dựng tiacutenh năng chat
Phiacutea Facebook khocircng hỗ trợ caacutec hagravem API để xacircy dựng tiacutenh năng
chat magrave chỉ hỗ trợ xacircy dựng tiacutenh năng chat thocircng qua giao thức
xmpp (Extensible Messaging and Presence Protocol)
GIẢI PHAacuteP
Link download bộ thư viện agsxmppdll
httpwwwag-softwarenetagsxmpp-sdk
Xacircy dựng tiacutenh năng chat qua
facebook server
Extensible Messaging and Presence Protocol (XMPP) trước đacircy lagrave Jabber lagrave
giao thức mở vagrave dựa trecircn nền tảng XML dugraveng trong nhắn tin nhanh (instant
messaging) vagrave thocircng tin hiện diện trực tuyến (presence information) Theo Hội
Tiecircu chuẩn XMPP (XMPP Standards Foundation trước đacircy lagrave Jabber Software
Foundation JSF) phần mềm dựa trecircn Jabber được triển khai tại hagraveng ngagraven maacutey
phục vụ trecircn Internet vagrave được hơn 10 triệu người trecircn khắp thế giới sử dụng
Jeremie Miller khởi đầu dự aacuten vagraveo năm 1998 phiecircn bản đầu tiecircn được cocircng bố
vagraveo thaacuteng năm 2000 Sản phẩm chiacutenh của dự aacuten lagrave jabberd một trigravenh phục vụ
(server) để từ đoacute caacutec trigravenh khaacutech (client) kết nối đến vagrave trao đổi tin nhắn Trigravenh
phục vụ nagravey coacute thể tạo mạng Jabber riecircng tư (như sau tường lửa) hoặc coacute thể tham
gia vagraveo mạng Jabber cocircng cộng toagraven cầu Đặc tiacutenh cốt lotildei của Jabber lagrave bản chất
của hệ thống tin nhắn nhanh phacircn taacuten vagrave việc sử dụng streaming XML
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
Điểm đặc trưng của hệ thống Jabber lagrave noacute coacute caacutec transport cograven được gọi lagrave
gateway (cổng) cho pheacutep người dugraveng truy cập mạng với caacutec giao thức khaacutec - như
AIM vagrave ICQ (dugraveng OSCAR) MSN Messenger vagrave Windows Messenger (dugraveng Dịch
vụ nhắn tin NET - NET Messenger Service) Yahoo Messenger SMS hay E-mail
Khocircng như caacutec trigravenh khaacutech đa giao thức như Trillian hay Gaim việc truy cập đến
caacutec giao thức khaacutec được Jabber cung cấp ở cấp độ trigravenh phục vụ bằng caacutech truyền
thocircng tin qua caacutec dịch vụ cổng đặc biệt chạy trecircn một maacutey tiacutenh ở xa Bất cứ người
dugraveng nagraveo cũng coacute thể đăng kiacute với một trong caacutec cổng nagravey bằng caacutech cung cấp
thocircng tin cần thiết để đăng nhập vagraveo mạng đoacute vagrave từ đoacute coacute thể liecircn lạc với người
dugraveng của mạng khaacutec như thể họ lagrave người dugraveng Jabber Điều nagravey coacute nghĩa lagrave bất cứ
trigravenh khaacutech nagraveo hỗ trợ đầy đủ giao thức Jabber đều coacute thể được dugraveng để truy cập bất
cứ mạng nagraveo coacute cổng kết nối magrave khocircng cần thecircm dograveng matilde lệnh nagraveo từ trigravenh khaacutech
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
Nền tảng của giao thức Jabber hiện được Tổ chức Phần mềm Jabber quản liacute
đatilde được IETF chấp nhận lagravem giao thức standards-track dưới tecircn XMPP với
RFC 3920 Noacute thường được xem lagrave đối thủ cạnh tranh với SIMPLE dựa trecircn
giao thức SIP để lagravem giao thức chuẩn cho nhắn tin nhanh vagrave thocircng baacuteo hiện
diện tuy nhiecircn thiết kế của XMPP được nhắm đến việc cung cấp caacutec tiện iacutech
trigravenh trung gian (middleware) liecircn ứng dụng vagrave mục điacutech tổng quaacutet
Người dugraveng Jabber được xaacutec định bằng tecircn người dugraveng vagrave tecircn maacutey phục vụ
caacutech nhau bằng dấu Căn cước nagravey được gọi lagrave Jabber ID hay JID
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
JID coacute dạng thức tecircn_người_dugravengtecircn_miềntagravei_nguyecircn tương tự như một địa
chỉ email
Người dugraveng Jabber coacute thể truy cập vagraveo tagravei khoản của migravenh cugraveng luacutec tại nhiều điểm
truy cập khaacutec nhau được xaacutec định qua phần tagravei_nguyecircn viacute dụ
tecircn_người_dugravengtecircn_miềncomcơ_quan vagrave tecircn_người_dugravengtecircn_miềncomnhagrave
Khocircng cần thiết chỉ định phần tagravei nguyecircn khi liecircn lạc với người dugraveng khaacutec
Tương tự như Sendmail người dugraveng Jabber coacute thể truy cập vagraveo caacutec giao thức
khaacutec qua cổng giao tiếp Jabber (Jabber Transport) viacute dụ JID của một địa chỉ lagrave
tecircn_người_dugravengmsncommsnjabberservercom
Tecircn người dugraveng trong JID dagravei tối đa 1023 kyacute tự vagrave khocircng được chứa
lt gt amp khoảng trắng vagrave kyacute tự điều khiển
JID
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Add thư viện agsXMPP vagraveo project Khai baacuteo để sử dụng
Xacircy dựng tiacutenh năng chat qua
facebook server
Để coacute thể đăng nhập vagraveo dịch vụ chat ta cần phải coacute username của người dugraveng vagrave
password Username của người dugraveng coacute thể tigravem thấy dưới dạng
Sau khi đatilde coacute username vagrave pass của người dugraveng chuacuteng ta tiến hagravenh đăng nhập
XmppClientConnection xmpp
xmpp = new XmppClientConnection(ldquochatfacebookcomrdquo)
xmppOpen(username password)
if (xmppAuthenticated == true)
Presence p = new Presence(ShowTypechat Online)pType = PresenceTypeavailable
xmppSend(p)
ThreadSleep(6000)
httpswwwfacebookcom[username]
Khai baacuteo
XAcircY DỰNG CHỨC NĂNG CHAT
Tecircn server chat
của facebookDừng lại để chờ
server xaacutec thực
Username
chỗ nagravey
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Add bạn begrave vagraveo danh saacutech chat
xmppMessageGrabberAdd(new Jid(- + friendId + chatfacebookcom)
new BareJidComparer()
new MessageCB(MessageCallBack)
null)
ID của bạn begrave
Hagravem nhận sự kiện
khi coacute tin nhắn tới
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Hagravem nhận sự kiện tin nhắn đến
void MessageCallBack(object sender Message msg object data)
if (msgBody = null)displayMessage()
Đacircy lagrave hagravem chịu traacutech
nhiệm xử liacute vagrave hiển thị tin
nhắn
Xacircy dựng tiacutenh năng chat qua
facebook server
Gửi tin nhắn đi
xmppSend(new Message(new Jid(ldquo-rdquo + friendID + chatfacebookcom)
MessageTypechat
messageBody))
Nội dung tin
nhắn gửi đi
ID của bạn begrave sẽ
nhận tin nhắn
XAcircY DỰNG CHỨC NĂNG CHAT
Xacircy dựng tiacutenh năng chat qua
facebook server Như vậy chuacuteng ta đatilde coacute thể hoagraven thagravenh được tiacutenh năng
chat facebook sử dụng thư viecircn agsxmppdll
Cảm ơn thầy vagrave caacutec
bạn đatilde quan tacircm
theo dotildei
Tương taacutec với facebook qua
facebookdll VD Lấy Url login của app
bull Trước tiecircn tạo một đối tượng FacebookClient
FacebookClient _fb=new FacebookClient()
Uri _loginUrl = _fbGetLoginUrl(object parameter)
Client_id App ID
redirect_uri Địa chỉ trang web trả về khi yecircu cầu thagravenh
cocircng
scope Phạm vi truy xuất thocircng tin của ứng dụng
display Caacutech thức trigravenh bagravey trang login
response_type Kiểu đối tượng trả về
parameterVd Uri _loginUrl=_fbGetLoginUrl(new
client_id = _appID
redirect_uri = _redirectUri
scope=ldquouser_about_me publish_streamrdquo
display=ldquopopuprdquo
Response_type=ldquotokenrdquo
)
bull Yecircu cầu url login sử dụng hagravem
Tương taacutec với facebook qua
facebookdll VD Đăng nhập facebook bằng loginUrl đatilde coacute
WebBrowser loginBrowser = new WebBrowser()logiBrowserNavigate(_loginUrl)
bull Kiểm tra đăng nhập vagrave nhận AccessToken
bull Tạo một đối tượng WebBrowser
void loginBrower_navigated(object sender NavigationEventArgs e)
FacebookOAuthResult _resultif(_fbTryParseOAuthCallbackUri(euri _result)
_accessToken=_resultAccessToken
Tương taacutec với facebook qua
facebookdll Hagravem Get
Function Description
virtual object Get(string path) Makes a GET request to the Facebook server
virtual object Get(string path object parameters) Makes a GET request to the Facebook server
virtual object Get(string path object parameters
Type resultType)Makes a GET request to the Facebook server
virtual void GetAsync(string path object parameters
object userState)
Makes an asynchronous GET request to the Facebook
server
VD Lấy thocircng tin người dugraveng
bull Để lấy thocircng tin người dugraveng ta sử dụng hagravem Get
_fbGet(string path)
VD var info=_fbGet(ldquomerdquo)
Tương taacutec với facebook qua
facebookdll
VD Lấy danh saacutech bạn begrave
bull Để lấy danh saacutech bạn begrave ta sử dụng hagravem Get
_fbGet(string path)
VD var info=_fbGet(ldquomefriendsrdquo)
Tương taacutec với facebook qua
facebookdll
VD Lấy danh saacutech bạn begrave online
bull Để lấy danh saacutech bạn begrave online ta sử dụng hagravem Get
_fbGet(string path object parameters)
VD
Tương taacutec với facebook qua
facebookdll
VD Lấy danh saacutech Albums của người dugraveng
bull Để lấy danh saacutech album ta dugraveng hagravem
_fbGet(string path)
VD var info=_fbGet(ldquomealbumsrdquo)
Tương taacutec với facebook qua
facebookdll
Hagravem Post
Function Description
virtual object Post(object parameters) Makes a POST request to the Facebook server
virtual object Post(string path object parameters) Makes a POST request to the Facebook server
virtual void PostAsync(object parameters)Makes an asynchronous POST request to the
Facebook server
virtual Taskltobjectgt PostTaskAsync(string path
object parameters)
Makes an asynchronous POST request to the
Facebook server
Tương taacutec với facebook qua
facebookdll
VD Post 1 status lecircn tường
bull Để post status lecircn trang chủ ta sử dụng hagravem Post
_fbPost(string Path object parameter)
VD
Tương taacutec với facebook qua
facebookdll
VD Post 1 higravenh lecircn tường
bull Để post higravenh lecircn trang chủ ta sử dụng hagravem Post
_fbPost(string Path object parameter)
VD
Tương taacutec với facebook qua
facebookdll
Giới thiệu về facebook deverlopers
Giới thiệu về bộ thư viện facebookdll
Tương taacutec với facebook qua facebookdll
Xacircy dựng tiacutenh năng chat qua facebook server
Xacircy dựng tiacutenh năng chat qua
facebook server
Chuacuteng ta sử dụng bộ thư viện agsxmppdll do cocircng ty AG-Software cung cấp
Đacircy lagrave một bộ thư viện được cung cấp miễn phiacute vagrave dựa trecircn phương thức
xmpp
VẤN ĐỀ
Bộ thư viecircn facebookdll khocircng hỗ trợ việc xacircy dựng tiacutenh năng chat
Phiacutea Facebook khocircng hỗ trợ caacutec hagravem API để xacircy dựng tiacutenh năng
chat magrave chỉ hỗ trợ xacircy dựng tiacutenh năng chat thocircng qua giao thức
xmpp (Extensible Messaging and Presence Protocol)
GIẢI PHAacuteP
Link download bộ thư viện agsxmppdll
httpwwwag-softwarenetagsxmpp-sdk
Xacircy dựng tiacutenh năng chat qua
facebook server
Extensible Messaging and Presence Protocol (XMPP) trước đacircy lagrave Jabber lagrave
giao thức mở vagrave dựa trecircn nền tảng XML dugraveng trong nhắn tin nhanh (instant
messaging) vagrave thocircng tin hiện diện trực tuyến (presence information) Theo Hội
Tiecircu chuẩn XMPP (XMPP Standards Foundation trước đacircy lagrave Jabber Software
Foundation JSF) phần mềm dựa trecircn Jabber được triển khai tại hagraveng ngagraven maacutey
phục vụ trecircn Internet vagrave được hơn 10 triệu người trecircn khắp thế giới sử dụng
Jeremie Miller khởi đầu dự aacuten vagraveo năm 1998 phiecircn bản đầu tiecircn được cocircng bố
vagraveo thaacuteng năm 2000 Sản phẩm chiacutenh của dự aacuten lagrave jabberd một trigravenh phục vụ
(server) để từ đoacute caacutec trigravenh khaacutech (client) kết nối đến vagrave trao đổi tin nhắn Trigravenh
phục vụ nagravey coacute thể tạo mạng Jabber riecircng tư (như sau tường lửa) hoặc coacute thể tham
gia vagraveo mạng Jabber cocircng cộng toagraven cầu Đặc tiacutenh cốt lotildei của Jabber lagrave bản chất
của hệ thống tin nhắn nhanh phacircn taacuten vagrave việc sử dụng streaming XML
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
Điểm đặc trưng của hệ thống Jabber lagrave noacute coacute caacutec transport cograven được gọi lagrave
gateway (cổng) cho pheacutep người dugraveng truy cập mạng với caacutec giao thức khaacutec - như
AIM vagrave ICQ (dugraveng OSCAR) MSN Messenger vagrave Windows Messenger (dugraveng Dịch
vụ nhắn tin NET - NET Messenger Service) Yahoo Messenger SMS hay E-mail
Khocircng như caacutec trigravenh khaacutech đa giao thức như Trillian hay Gaim việc truy cập đến
caacutec giao thức khaacutec được Jabber cung cấp ở cấp độ trigravenh phục vụ bằng caacutech truyền
thocircng tin qua caacutec dịch vụ cổng đặc biệt chạy trecircn một maacutey tiacutenh ở xa Bất cứ người
dugraveng nagraveo cũng coacute thể đăng kiacute với một trong caacutec cổng nagravey bằng caacutech cung cấp
thocircng tin cần thiết để đăng nhập vagraveo mạng đoacute vagrave từ đoacute coacute thể liecircn lạc với người
dugraveng của mạng khaacutec như thể họ lagrave người dugraveng Jabber Điều nagravey coacute nghĩa lagrave bất cứ
trigravenh khaacutech nagraveo hỗ trợ đầy đủ giao thức Jabber đều coacute thể được dugraveng để truy cập bất
cứ mạng nagraveo coacute cổng kết nối magrave khocircng cần thecircm dograveng matilde lệnh nagraveo từ trigravenh khaacutech
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
Nền tảng của giao thức Jabber hiện được Tổ chức Phần mềm Jabber quản liacute
đatilde được IETF chấp nhận lagravem giao thức standards-track dưới tecircn XMPP với
RFC 3920 Noacute thường được xem lagrave đối thủ cạnh tranh với SIMPLE dựa trecircn
giao thức SIP để lagravem giao thức chuẩn cho nhắn tin nhanh vagrave thocircng baacuteo hiện
diện tuy nhiecircn thiết kế của XMPP được nhắm đến việc cung cấp caacutec tiện iacutech
trigravenh trung gian (middleware) liecircn ứng dụng vagrave mục điacutech tổng quaacutet
Người dugraveng Jabber được xaacutec định bằng tecircn người dugraveng vagrave tecircn maacutey phục vụ
caacutech nhau bằng dấu Căn cước nagravey được gọi lagrave Jabber ID hay JID
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
JID coacute dạng thức tecircn_người_dugravengtecircn_miềntagravei_nguyecircn tương tự như một địa
chỉ email
Người dugraveng Jabber coacute thể truy cập vagraveo tagravei khoản của migravenh cugraveng luacutec tại nhiều điểm
truy cập khaacutec nhau được xaacutec định qua phần tagravei_nguyecircn viacute dụ
tecircn_người_dugravengtecircn_miềncomcơ_quan vagrave tecircn_người_dugravengtecircn_miềncomnhagrave
Khocircng cần thiết chỉ định phần tagravei nguyecircn khi liecircn lạc với người dugraveng khaacutec
Tương tự như Sendmail người dugraveng Jabber coacute thể truy cập vagraveo caacutec giao thức
khaacutec qua cổng giao tiếp Jabber (Jabber Transport) viacute dụ JID của một địa chỉ lagrave
tecircn_người_dugravengmsncommsnjabberservercom
Tecircn người dugraveng trong JID dagravei tối đa 1023 kyacute tự vagrave khocircng được chứa
lt gt amp khoảng trắng vagrave kyacute tự điều khiển
JID
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Add thư viện agsXMPP vagraveo project Khai baacuteo để sử dụng
Xacircy dựng tiacutenh năng chat qua
facebook server
Để coacute thể đăng nhập vagraveo dịch vụ chat ta cần phải coacute username của người dugraveng vagrave
password Username của người dugraveng coacute thể tigravem thấy dưới dạng
Sau khi đatilde coacute username vagrave pass của người dugraveng chuacuteng ta tiến hagravenh đăng nhập
XmppClientConnection xmpp
xmpp = new XmppClientConnection(ldquochatfacebookcomrdquo)
xmppOpen(username password)
if (xmppAuthenticated == true)
Presence p = new Presence(ShowTypechat Online)pType = PresenceTypeavailable
xmppSend(p)
ThreadSleep(6000)
httpswwwfacebookcom[username]
Khai baacuteo
XAcircY DỰNG CHỨC NĂNG CHAT
Tecircn server chat
của facebookDừng lại để chờ
server xaacutec thực
Username
chỗ nagravey
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Add bạn begrave vagraveo danh saacutech chat
xmppMessageGrabberAdd(new Jid(- + friendId + chatfacebookcom)
new BareJidComparer()
new MessageCB(MessageCallBack)
null)
ID của bạn begrave
Hagravem nhận sự kiện
khi coacute tin nhắn tới
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Hagravem nhận sự kiện tin nhắn đến
void MessageCallBack(object sender Message msg object data)
if (msgBody = null)displayMessage()
Đacircy lagrave hagravem chịu traacutech
nhiệm xử liacute vagrave hiển thị tin
nhắn
Xacircy dựng tiacutenh năng chat qua
facebook server
Gửi tin nhắn đi
xmppSend(new Message(new Jid(ldquo-rdquo + friendID + chatfacebookcom)
MessageTypechat
messageBody))
Nội dung tin
nhắn gửi đi
ID của bạn begrave sẽ
nhận tin nhắn
XAcircY DỰNG CHỨC NĂNG CHAT
Xacircy dựng tiacutenh năng chat qua
facebook server Như vậy chuacuteng ta đatilde coacute thể hoagraven thagravenh được tiacutenh năng
chat facebook sử dụng thư viecircn agsxmppdll
Cảm ơn thầy vagrave caacutec
bạn đatilde quan tacircm
theo dotildei
Tương taacutec với facebook qua
facebookdll VD Đăng nhập facebook bằng loginUrl đatilde coacute
WebBrowser loginBrowser = new WebBrowser()logiBrowserNavigate(_loginUrl)
bull Kiểm tra đăng nhập vagrave nhận AccessToken
bull Tạo một đối tượng WebBrowser
void loginBrower_navigated(object sender NavigationEventArgs e)
FacebookOAuthResult _resultif(_fbTryParseOAuthCallbackUri(euri _result)
_accessToken=_resultAccessToken
Tương taacutec với facebook qua
facebookdll Hagravem Get
Function Description
virtual object Get(string path) Makes a GET request to the Facebook server
virtual object Get(string path object parameters) Makes a GET request to the Facebook server
virtual object Get(string path object parameters
Type resultType)Makes a GET request to the Facebook server
virtual void GetAsync(string path object parameters
object userState)
Makes an asynchronous GET request to the Facebook
server
VD Lấy thocircng tin người dugraveng
bull Để lấy thocircng tin người dugraveng ta sử dụng hagravem Get
_fbGet(string path)
VD var info=_fbGet(ldquomerdquo)
Tương taacutec với facebook qua
facebookdll
VD Lấy danh saacutech bạn begrave
bull Để lấy danh saacutech bạn begrave ta sử dụng hagravem Get
_fbGet(string path)
VD var info=_fbGet(ldquomefriendsrdquo)
Tương taacutec với facebook qua
facebookdll
VD Lấy danh saacutech bạn begrave online
bull Để lấy danh saacutech bạn begrave online ta sử dụng hagravem Get
_fbGet(string path object parameters)
VD
Tương taacutec với facebook qua
facebookdll
VD Lấy danh saacutech Albums của người dugraveng
bull Để lấy danh saacutech album ta dugraveng hagravem
_fbGet(string path)
VD var info=_fbGet(ldquomealbumsrdquo)
Tương taacutec với facebook qua
facebookdll
Hagravem Post
Function Description
virtual object Post(object parameters) Makes a POST request to the Facebook server
virtual object Post(string path object parameters) Makes a POST request to the Facebook server
virtual void PostAsync(object parameters)Makes an asynchronous POST request to the
Facebook server
virtual Taskltobjectgt PostTaskAsync(string path
object parameters)
Makes an asynchronous POST request to the
Facebook server
Tương taacutec với facebook qua
facebookdll
VD Post 1 status lecircn tường
bull Để post status lecircn trang chủ ta sử dụng hagravem Post
_fbPost(string Path object parameter)
VD
Tương taacutec với facebook qua
facebookdll
VD Post 1 higravenh lecircn tường
bull Để post higravenh lecircn trang chủ ta sử dụng hagravem Post
_fbPost(string Path object parameter)
VD
Tương taacutec với facebook qua
facebookdll
Giới thiệu về facebook deverlopers
Giới thiệu về bộ thư viện facebookdll
Tương taacutec với facebook qua facebookdll
Xacircy dựng tiacutenh năng chat qua facebook server
Xacircy dựng tiacutenh năng chat qua
facebook server
Chuacuteng ta sử dụng bộ thư viện agsxmppdll do cocircng ty AG-Software cung cấp
Đacircy lagrave một bộ thư viện được cung cấp miễn phiacute vagrave dựa trecircn phương thức
xmpp
VẤN ĐỀ
Bộ thư viecircn facebookdll khocircng hỗ trợ việc xacircy dựng tiacutenh năng chat
Phiacutea Facebook khocircng hỗ trợ caacutec hagravem API để xacircy dựng tiacutenh năng
chat magrave chỉ hỗ trợ xacircy dựng tiacutenh năng chat thocircng qua giao thức
xmpp (Extensible Messaging and Presence Protocol)
GIẢI PHAacuteP
Link download bộ thư viện agsxmppdll
httpwwwag-softwarenetagsxmpp-sdk
Xacircy dựng tiacutenh năng chat qua
facebook server
Extensible Messaging and Presence Protocol (XMPP) trước đacircy lagrave Jabber lagrave
giao thức mở vagrave dựa trecircn nền tảng XML dugraveng trong nhắn tin nhanh (instant
messaging) vagrave thocircng tin hiện diện trực tuyến (presence information) Theo Hội
Tiecircu chuẩn XMPP (XMPP Standards Foundation trước đacircy lagrave Jabber Software
Foundation JSF) phần mềm dựa trecircn Jabber được triển khai tại hagraveng ngagraven maacutey
phục vụ trecircn Internet vagrave được hơn 10 triệu người trecircn khắp thế giới sử dụng
Jeremie Miller khởi đầu dự aacuten vagraveo năm 1998 phiecircn bản đầu tiecircn được cocircng bố
vagraveo thaacuteng năm 2000 Sản phẩm chiacutenh của dự aacuten lagrave jabberd một trigravenh phục vụ
(server) để từ đoacute caacutec trigravenh khaacutech (client) kết nối đến vagrave trao đổi tin nhắn Trigravenh
phục vụ nagravey coacute thể tạo mạng Jabber riecircng tư (như sau tường lửa) hoặc coacute thể tham
gia vagraveo mạng Jabber cocircng cộng toagraven cầu Đặc tiacutenh cốt lotildei của Jabber lagrave bản chất
của hệ thống tin nhắn nhanh phacircn taacuten vagrave việc sử dụng streaming XML
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
Điểm đặc trưng của hệ thống Jabber lagrave noacute coacute caacutec transport cograven được gọi lagrave
gateway (cổng) cho pheacutep người dugraveng truy cập mạng với caacutec giao thức khaacutec - như
AIM vagrave ICQ (dugraveng OSCAR) MSN Messenger vagrave Windows Messenger (dugraveng Dịch
vụ nhắn tin NET - NET Messenger Service) Yahoo Messenger SMS hay E-mail
Khocircng như caacutec trigravenh khaacutech đa giao thức như Trillian hay Gaim việc truy cập đến
caacutec giao thức khaacutec được Jabber cung cấp ở cấp độ trigravenh phục vụ bằng caacutech truyền
thocircng tin qua caacutec dịch vụ cổng đặc biệt chạy trecircn một maacutey tiacutenh ở xa Bất cứ người
dugraveng nagraveo cũng coacute thể đăng kiacute với một trong caacutec cổng nagravey bằng caacutech cung cấp
thocircng tin cần thiết để đăng nhập vagraveo mạng đoacute vagrave từ đoacute coacute thể liecircn lạc với người
dugraveng của mạng khaacutec như thể họ lagrave người dugraveng Jabber Điều nagravey coacute nghĩa lagrave bất cứ
trigravenh khaacutech nagraveo hỗ trợ đầy đủ giao thức Jabber đều coacute thể được dugraveng để truy cập bất
cứ mạng nagraveo coacute cổng kết nối magrave khocircng cần thecircm dograveng matilde lệnh nagraveo từ trigravenh khaacutech
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
Nền tảng của giao thức Jabber hiện được Tổ chức Phần mềm Jabber quản liacute
đatilde được IETF chấp nhận lagravem giao thức standards-track dưới tecircn XMPP với
RFC 3920 Noacute thường được xem lagrave đối thủ cạnh tranh với SIMPLE dựa trecircn
giao thức SIP để lagravem giao thức chuẩn cho nhắn tin nhanh vagrave thocircng baacuteo hiện
diện tuy nhiecircn thiết kế của XMPP được nhắm đến việc cung cấp caacutec tiện iacutech
trigravenh trung gian (middleware) liecircn ứng dụng vagrave mục điacutech tổng quaacutet
Người dugraveng Jabber được xaacutec định bằng tecircn người dugraveng vagrave tecircn maacutey phục vụ
caacutech nhau bằng dấu Căn cước nagravey được gọi lagrave Jabber ID hay JID
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
JID coacute dạng thức tecircn_người_dugravengtecircn_miềntagravei_nguyecircn tương tự như một địa
chỉ email
Người dugraveng Jabber coacute thể truy cập vagraveo tagravei khoản của migravenh cugraveng luacutec tại nhiều điểm
truy cập khaacutec nhau được xaacutec định qua phần tagravei_nguyecircn viacute dụ
tecircn_người_dugravengtecircn_miềncomcơ_quan vagrave tecircn_người_dugravengtecircn_miềncomnhagrave
Khocircng cần thiết chỉ định phần tagravei nguyecircn khi liecircn lạc với người dugraveng khaacutec
Tương tự như Sendmail người dugraveng Jabber coacute thể truy cập vagraveo caacutec giao thức
khaacutec qua cổng giao tiếp Jabber (Jabber Transport) viacute dụ JID của một địa chỉ lagrave
tecircn_người_dugravengmsncommsnjabberservercom
Tecircn người dugraveng trong JID dagravei tối đa 1023 kyacute tự vagrave khocircng được chứa
lt gt amp khoảng trắng vagrave kyacute tự điều khiển
JID
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Add thư viện agsXMPP vagraveo project Khai baacuteo để sử dụng
Xacircy dựng tiacutenh năng chat qua
facebook server
Để coacute thể đăng nhập vagraveo dịch vụ chat ta cần phải coacute username của người dugraveng vagrave
password Username của người dugraveng coacute thể tigravem thấy dưới dạng
Sau khi đatilde coacute username vagrave pass của người dugraveng chuacuteng ta tiến hagravenh đăng nhập
XmppClientConnection xmpp
xmpp = new XmppClientConnection(ldquochatfacebookcomrdquo)
xmppOpen(username password)
if (xmppAuthenticated == true)
Presence p = new Presence(ShowTypechat Online)pType = PresenceTypeavailable
xmppSend(p)
ThreadSleep(6000)
httpswwwfacebookcom[username]
Khai baacuteo
XAcircY DỰNG CHỨC NĂNG CHAT
Tecircn server chat
của facebookDừng lại để chờ
server xaacutec thực
Username
chỗ nagravey
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Add bạn begrave vagraveo danh saacutech chat
xmppMessageGrabberAdd(new Jid(- + friendId + chatfacebookcom)
new BareJidComparer()
new MessageCB(MessageCallBack)
null)
ID của bạn begrave
Hagravem nhận sự kiện
khi coacute tin nhắn tới
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Hagravem nhận sự kiện tin nhắn đến
void MessageCallBack(object sender Message msg object data)
if (msgBody = null)displayMessage()
Đacircy lagrave hagravem chịu traacutech
nhiệm xử liacute vagrave hiển thị tin
nhắn
Xacircy dựng tiacutenh năng chat qua
facebook server
Gửi tin nhắn đi
xmppSend(new Message(new Jid(ldquo-rdquo + friendID + chatfacebookcom)
MessageTypechat
messageBody))
Nội dung tin
nhắn gửi đi
ID của bạn begrave sẽ
nhận tin nhắn
XAcircY DỰNG CHỨC NĂNG CHAT
Xacircy dựng tiacutenh năng chat qua
facebook server Như vậy chuacuteng ta đatilde coacute thể hoagraven thagravenh được tiacutenh năng
chat facebook sử dụng thư viecircn agsxmppdll
Cảm ơn thầy vagrave caacutec
bạn đatilde quan tacircm
theo dotildei
Tương taacutec với facebook qua
facebookdll Hagravem Get
Function Description
virtual object Get(string path) Makes a GET request to the Facebook server
virtual object Get(string path object parameters) Makes a GET request to the Facebook server
virtual object Get(string path object parameters
Type resultType)Makes a GET request to the Facebook server
virtual void GetAsync(string path object parameters
object userState)
Makes an asynchronous GET request to the Facebook
server
VD Lấy thocircng tin người dugraveng
bull Để lấy thocircng tin người dugraveng ta sử dụng hagravem Get
_fbGet(string path)
VD var info=_fbGet(ldquomerdquo)
Tương taacutec với facebook qua
facebookdll
VD Lấy danh saacutech bạn begrave
bull Để lấy danh saacutech bạn begrave ta sử dụng hagravem Get
_fbGet(string path)
VD var info=_fbGet(ldquomefriendsrdquo)
Tương taacutec với facebook qua
facebookdll
VD Lấy danh saacutech bạn begrave online
bull Để lấy danh saacutech bạn begrave online ta sử dụng hagravem Get
_fbGet(string path object parameters)
VD
Tương taacutec với facebook qua
facebookdll
VD Lấy danh saacutech Albums của người dugraveng
bull Để lấy danh saacutech album ta dugraveng hagravem
_fbGet(string path)
VD var info=_fbGet(ldquomealbumsrdquo)
Tương taacutec với facebook qua
facebookdll
Hagravem Post
Function Description
virtual object Post(object parameters) Makes a POST request to the Facebook server
virtual object Post(string path object parameters) Makes a POST request to the Facebook server
virtual void PostAsync(object parameters)Makes an asynchronous POST request to the
Facebook server
virtual Taskltobjectgt PostTaskAsync(string path
object parameters)
Makes an asynchronous POST request to the
Facebook server
Tương taacutec với facebook qua
facebookdll
VD Post 1 status lecircn tường
bull Để post status lecircn trang chủ ta sử dụng hagravem Post
_fbPost(string Path object parameter)
VD
Tương taacutec với facebook qua
facebookdll
VD Post 1 higravenh lecircn tường
bull Để post higravenh lecircn trang chủ ta sử dụng hagravem Post
_fbPost(string Path object parameter)
VD
Tương taacutec với facebook qua
facebookdll
Giới thiệu về facebook deverlopers
Giới thiệu về bộ thư viện facebookdll
Tương taacutec với facebook qua facebookdll
Xacircy dựng tiacutenh năng chat qua facebook server
Xacircy dựng tiacutenh năng chat qua
facebook server
Chuacuteng ta sử dụng bộ thư viện agsxmppdll do cocircng ty AG-Software cung cấp
Đacircy lagrave một bộ thư viện được cung cấp miễn phiacute vagrave dựa trecircn phương thức
xmpp
VẤN ĐỀ
Bộ thư viecircn facebookdll khocircng hỗ trợ việc xacircy dựng tiacutenh năng chat
Phiacutea Facebook khocircng hỗ trợ caacutec hagravem API để xacircy dựng tiacutenh năng
chat magrave chỉ hỗ trợ xacircy dựng tiacutenh năng chat thocircng qua giao thức
xmpp (Extensible Messaging and Presence Protocol)
GIẢI PHAacuteP
Link download bộ thư viện agsxmppdll
httpwwwag-softwarenetagsxmpp-sdk
Xacircy dựng tiacutenh năng chat qua
facebook server
Extensible Messaging and Presence Protocol (XMPP) trước đacircy lagrave Jabber lagrave
giao thức mở vagrave dựa trecircn nền tảng XML dugraveng trong nhắn tin nhanh (instant
messaging) vagrave thocircng tin hiện diện trực tuyến (presence information) Theo Hội
Tiecircu chuẩn XMPP (XMPP Standards Foundation trước đacircy lagrave Jabber Software
Foundation JSF) phần mềm dựa trecircn Jabber được triển khai tại hagraveng ngagraven maacutey
phục vụ trecircn Internet vagrave được hơn 10 triệu người trecircn khắp thế giới sử dụng
Jeremie Miller khởi đầu dự aacuten vagraveo năm 1998 phiecircn bản đầu tiecircn được cocircng bố
vagraveo thaacuteng năm 2000 Sản phẩm chiacutenh của dự aacuten lagrave jabberd một trigravenh phục vụ
(server) để từ đoacute caacutec trigravenh khaacutech (client) kết nối đến vagrave trao đổi tin nhắn Trigravenh
phục vụ nagravey coacute thể tạo mạng Jabber riecircng tư (như sau tường lửa) hoặc coacute thể tham
gia vagraveo mạng Jabber cocircng cộng toagraven cầu Đặc tiacutenh cốt lotildei của Jabber lagrave bản chất
của hệ thống tin nhắn nhanh phacircn taacuten vagrave việc sử dụng streaming XML
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
Điểm đặc trưng của hệ thống Jabber lagrave noacute coacute caacutec transport cograven được gọi lagrave
gateway (cổng) cho pheacutep người dugraveng truy cập mạng với caacutec giao thức khaacutec - như
AIM vagrave ICQ (dugraveng OSCAR) MSN Messenger vagrave Windows Messenger (dugraveng Dịch
vụ nhắn tin NET - NET Messenger Service) Yahoo Messenger SMS hay E-mail
Khocircng như caacutec trigravenh khaacutech đa giao thức như Trillian hay Gaim việc truy cập đến
caacutec giao thức khaacutec được Jabber cung cấp ở cấp độ trigravenh phục vụ bằng caacutech truyền
thocircng tin qua caacutec dịch vụ cổng đặc biệt chạy trecircn một maacutey tiacutenh ở xa Bất cứ người
dugraveng nagraveo cũng coacute thể đăng kiacute với một trong caacutec cổng nagravey bằng caacutech cung cấp
thocircng tin cần thiết để đăng nhập vagraveo mạng đoacute vagrave từ đoacute coacute thể liecircn lạc với người
dugraveng của mạng khaacutec như thể họ lagrave người dugraveng Jabber Điều nagravey coacute nghĩa lagrave bất cứ
trigravenh khaacutech nagraveo hỗ trợ đầy đủ giao thức Jabber đều coacute thể được dugraveng để truy cập bất
cứ mạng nagraveo coacute cổng kết nối magrave khocircng cần thecircm dograveng matilde lệnh nagraveo từ trigravenh khaacutech
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
Nền tảng của giao thức Jabber hiện được Tổ chức Phần mềm Jabber quản liacute
đatilde được IETF chấp nhận lagravem giao thức standards-track dưới tecircn XMPP với
RFC 3920 Noacute thường được xem lagrave đối thủ cạnh tranh với SIMPLE dựa trecircn
giao thức SIP để lagravem giao thức chuẩn cho nhắn tin nhanh vagrave thocircng baacuteo hiện
diện tuy nhiecircn thiết kế của XMPP được nhắm đến việc cung cấp caacutec tiện iacutech
trigravenh trung gian (middleware) liecircn ứng dụng vagrave mục điacutech tổng quaacutet
Người dugraveng Jabber được xaacutec định bằng tecircn người dugraveng vagrave tecircn maacutey phục vụ
caacutech nhau bằng dấu Căn cước nagravey được gọi lagrave Jabber ID hay JID
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
JID coacute dạng thức tecircn_người_dugravengtecircn_miềntagravei_nguyecircn tương tự như một địa
chỉ email
Người dugraveng Jabber coacute thể truy cập vagraveo tagravei khoản của migravenh cugraveng luacutec tại nhiều điểm
truy cập khaacutec nhau được xaacutec định qua phần tagravei_nguyecircn viacute dụ
tecircn_người_dugravengtecircn_miềncomcơ_quan vagrave tecircn_người_dugravengtecircn_miềncomnhagrave
Khocircng cần thiết chỉ định phần tagravei nguyecircn khi liecircn lạc với người dugraveng khaacutec
Tương tự như Sendmail người dugraveng Jabber coacute thể truy cập vagraveo caacutec giao thức
khaacutec qua cổng giao tiếp Jabber (Jabber Transport) viacute dụ JID của một địa chỉ lagrave
tecircn_người_dugravengmsncommsnjabberservercom
Tecircn người dugraveng trong JID dagravei tối đa 1023 kyacute tự vagrave khocircng được chứa
lt gt amp khoảng trắng vagrave kyacute tự điều khiển
JID
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Add thư viện agsXMPP vagraveo project Khai baacuteo để sử dụng
Xacircy dựng tiacutenh năng chat qua
facebook server
Để coacute thể đăng nhập vagraveo dịch vụ chat ta cần phải coacute username của người dugraveng vagrave
password Username của người dugraveng coacute thể tigravem thấy dưới dạng
Sau khi đatilde coacute username vagrave pass của người dugraveng chuacuteng ta tiến hagravenh đăng nhập
XmppClientConnection xmpp
xmpp = new XmppClientConnection(ldquochatfacebookcomrdquo)
xmppOpen(username password)
if (xmppAuthenticated == true)
Presence p = new Presence(ShowTypechat Online)pType = PresenceTypeavailable
xmppSend(p)
ThreadSleep(6000)
httpswwwfacebookcom[username]
Khai baacuteo
XAcircY DỰNG CHỨC NĂNG CHAT
Tecircn server chat
của facebookDừng lại để chờ
server xaacutec thực
Username
chỗ nagravey
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Add bạn begrave vagraveo danh saacutech chat
xmppMessageGrabberAdd(new Jid(- + friendId + chatfacebookcom)
new BareJidComparer()
new MessageCB(MessageCallBack)
null)
ID của bạn begrave
Hagravem nhận sự kiện
khi coacute tin nhắn tới
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Hagravem nhận sự kiện tin nhắn đến
void MessageCallBack(object sender Message msg object data)
if (msgBody = null)displayMessage()
Đacircy lagrave hagravem chịu traacutech
nhiệm xử liacute vagrave hiển thị tin
nhắn
Xacircy dựng tiacutenh năng chat qua
facebook server
Gửi tin nhắn đi
xmppSend(new Message(new Jid(ldquo-rdquo + friendID + chatfacebookcom)
MessageTypechat
messageBody))
Nội dung tin
nhắn gửi đi
ID của bạn begrave sẽ
nhận tin nhắn
XAcircY DỰNG CHỨC NĂNG CHAT
Xacircy dựng tiacutenh năng chat qua
facebook server Như vậy chuacuteng ta đatilde coacute thể hoagraven thagravenh được tiacutenh năng
chat facebook sử dụng thư viecircn agsxmppdll
Cảm ơn thầy vagrave caacutec
bạn đatilde quan tacircm
theo dotildei
VD Lấy thocircng tin người dugraveng
bull Để lấy thocircng tin người dugraveng ta sử dụng hagravem Get
_fbGet(string path)
VD var info=_fbGet(ldquomerdquo)
Tương taacutec với facebook qua
facebookdll
VD Lấy danh saacutech bạn begrave
bull Để lấy danh saacutech bạn begrave ta sử dụng hagravem Get
_fbGet(string path)
VD var info=_fbGet(ldquomefriendsrdquo)
Tương taacutec với facebook qua
facebookdll
VD Lấy danh saacutech bạn begrave online
bull Để lấy danh saacutech bạn begrave online ta sử dụng hagravem Get
_fbGet(string path object parameters)
VD
Tương taacutec với facebook qua
facebookdll
VD Lấy danh saacutech Albums của người dugraveng
bull Để lấy danh saacutech album ta dugraveng hagravem
_fbGet(string path)
VD var info=_fbGet(ldquomealbumsrdquo)
Tương taacutec với facebook qua
facebookdll
Hagravem Post
Function Description
virtual object Post(object parameters) Makes a POST request to the Facebook server
virtual object Post(string path object parameters) Makes a POST request to the Facebook server
virtual void PostAsync(object parameters)Makes an asynchronous POST request to the
Facebook server
virtual Taskltobjectgt PostTaskAsync(string path
object parameters)
Makes an asynchronous POST request to the
Facebook server
Tương taacutec với facebook qua
facebookdll
VD Post 1 status lecircn tường
bull Để post status lecircn trang chủ ta sử dụng hagravem Post
_fbPost(string Path object parameter)
VD
Tương taacutec với facebook qua
facebookdll
VD Post 1 higravenh lecircn tường
bull Để post higravenh lecircn trang chủ ta sử dụng hagravem Post
_fbPost(string Path object parameter)
VD
Tương taacutec với facebook qua
facebookdll
Giới thiệu về facebook deverlopers
Giới thiệu về bộ thư viện facebookdll
Tương taacutec với facebook qua facebookdll
Xacircy dựng tiacutenh năng chat qua facebook server
Xacircy dựng tiacutenh năng chat qua
facebook server
Chuacuteng ta sử dụng bộ thư viện agsxmppdll do cocircng ty AG-Software cung cấp
Đacircy lagrave một bộ thư viện được cung cấp miễn phiacute vagrave dựa trecircn phương thức
xmpp
VẤN ĐỀ
Bộ thư viecircn facebookdll khocircng hỗ trợ việc xacircy dựng tiacutenh năng chat
Phiacutea Facebook khocircng hỗ trợ caacutec hagravem API để xacircy dựng tiacutenh năng
chat magrave chỉ hỗ trợ xacircy dựng tiacutenh năng chat thocircng qua giao thức
xmpp (Extensible Messaging and Presence Protocol)
GIẢI PHAacuteP
Link download bộ thư viện agsxmppdll
httpwwwag-softwarenetagsxmpp-sdk
Xacircy dựng tiacutenh năng chat qua
facebook server
Extensible Messaging and Presence Protocol (XMPP) trước đacircy lagrave Jabber lagrave
giao thức mở vagrave dựa trecircn nền tảng XML dugraveng trong nhắn tin nhanh (instant
messaging) vagrave thocircng tin hiện diện trực tuyến (presence information) Theo Hội
Tiecircu chuẩn XMPP (XMPP Standards Foundation trước đacircy lagrave Jabber Software
Foundation JSF) phần mềm dựa trecircn Jabber được triển khai tại hagraveng ngagraven maacutey
phục vụ trecircn Internet vagrave được hơn 10 triệu người trecircn khắp thế giới sử dụng
Jeremie Miller khởi đầu dự aacuten vagraveo năm 1998 phiecircn bản đầu tiecircn được cocircng bố
vagraveo thaacuteng năm 2000 Sản phẩm chiacutenh của dự aacuten lagrave jabberd một trigravenh phục vụ
(server) để từ đoacute caacutec trigravenh khaacutech (client) kết nối đến vagrave trao đổi tin nhắn Trigravenh
phục vụ nagravey coacute thể tạo mạng Jabber riecircng tư (như sau tường lửa) hoặc coacute thể tham
gia vagraveo mạng Jabber cocircng cộng toagraven cầu Đặc tiacutenh cốt lotildei của Jabber lagrave bản chất
của hệ thống tin nhắn nhanh phacircn taacuten vagrave việc sử dụng streaming XML
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
Điểm đặc trưng của hệ thống Jabber lagrave noacute coacute caacutec transport cograven được gọi lagrave
gateway (cổng) cho pheacutep người dugraveng truy cập mạng với caacutec giao thức khaacutec - như
AIM vagrave ICQ (dugraveng OSCAR) MSN Messenger vagrave Windows Messenger (dugraveng Dịch
vụ nhắn tin NET - NET Messenger Service) Yahoo Messenger SMS hay E-mail
Khocircng như caacutec trigravenh khaacutech đa giao thức như Trillian hay Gaim việc truy cập đến
caacutec giao thức khaacutec được Jabber cung cấp ở cấp độ trigravenh phục vụ bằng caacutech truyền
thocircng tin qua caacutec dịch vụ cổng đặc biệt chạy trecircn một maacutey tiacutenh ở xa Bất cứ người
dugraveng nagraveo cũng coacute thể đăng kiacute với một trong caacutec cổng nagravey bằng caacutech cung cấp
thocircng tin cần thiết để đăng nhập vagraveo mạng đoacute vagrave từ đoacute coacute thể liecircn lạc với người
dugraveng của mạng khaacutec như thể họ lagrave người dugraveng Jabber Điều nagravey coacute nghĩa lagrave bất cứ
trigravenh khaacutech nagraveo hỗ trợ đầy đủ giao thức Jabber đều coacute thể được dugraveng để truy cập bất
cứ mạng nagraveo coacute cổng kết nối magrave khocircng cần thecircm dograveng matilde lệnh nagraveo từ trigravenh khaacutech
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
Nền tảng của giao thức Jabber hiện được Tổ chức Phần mềm Jabber quản liacute
đatilde được IETF chấp nhận lagravem giao thức standards-track dưới tecircn XMPP với
RFC 3920 Noacute thường được xem lagrave đối thủ cạnh tranh với SIMPLE dựa trecircn
giao thức SIP để lagravem giao thức chuẩn cho nhắn tin nhanh vagrave thocircng baacuteo hiện
diện tuy nhiecircn thiết kế của XMPP được nhắm đến việc cung cấp caacutec tiện iacutech
trigravenh trung gian (middleware) liecircn ứng dụng vagrave mục điacutech tổng quaacutet
Người dugraveng Jabber được xaacutec định bằng tecircn người dugraveng vagrave tecircn maacutey phục vụ
caacutech nhau bằng dấu Căn cước nagravey được gọi lagrave Jabber ID hay JID
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
JID coacute dạng thức tecircn_người_dugravengtecircn_miềntagravei_nguyecircn tương tự như một địa
chỉ email
Người dugraveng Jabber coacute thể truy cập vagraveo tagravei khoản của migravenh cugraveng luacutec tại nhiều điểm
truy cập khaacutec nhau được xaacutec định qua phần tagravei_nguyecircn viacute dụ
tecircn_người_dugravengtecircn_miềncomcơ_quan vagrave tecircn_người_dugravengtecircn_miềncomnhagrave
Khocircng cần thiết chỉ định phần tagravei nguyecircn khi liecircn lạc với người dugraveng khaacutec
Tương tự như Sendmail người dugraveng Jabber coacute thể truy cập vagraveo caacutec giao thức
khaacutec qua cổng giao tiếp Jabber (Jabber Transport) viacute dụ JID của một địa chỉ lagrave
tecircn_người_dugravengmsncommsnjabberservercom
Tecircn người dugraveng trong JID dagravei tối đa 1023 kyacute tự vagrave khocircng được chứa
lt gt amp khoảng trắng vagrave kyacute tự điều khiển
JID
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Add thư viện agsXMPP vagraveo project Khai baacuteo để sử dụng
Xacircy dựng tiacutenh năng chat qua
facebook server
Để coacute thể đăng nhập vagraveo dịch vụ chat ta cần phải coacute username của người dugraveng vagrave
password Username của người dugraveng coacute thể tigravem thấy dưới dạng
Sau khi đatilde coacute username vagrave pass của người dugraveng chuacuteng ta tiến hagravenh đăng nhập
XmppClientConnection xmpp
xmpp = new XmppClientConnection(ldquochatfacebookcomrdquo)
xmppOpen(username password)
if (xmppAuthenticated == true)
Presence p = new Presence(ShowTypechat Online)pType = PresenceTypeavailable
xmppSend(p)
ThreadSleep(6000)
httpswwwfacebookcom[username]
Khai baacuteo
XAcircY DỰNG CHỨC NĂNG CHAT
Tecircn server chat
của facebookDừng lại để chờ
server xaacutec thực
Username
chỗ nagravey
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Add bạn begrave vagraveo danh saacutech chat
xmppMessageGrabberAdd(new Jid(- + friendId + chatfacebookcom)
new BareJidComparer()
new MessageCB(MessageCallBack)
null)
ID của bạn begrave
Hagravem nhận sự kiện
khi coacute tin nhắn tới
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Hagravem nhận sự kiện tin nhắn đến
void MessageCallBack(object sender Message msg object data)
if (msgBody = null)displayMessage()
Đacircy lagrave hagravem chịu traacutech
nhiệm xử liacute vagrave hiển thị tin
nhắn
Xacircy dựng tiacutenh năng chat qua
facebook server
Gửi tin nhắn đi
xmppSend(new Message(new Jid(ldquo-rdquo + friendID + chatfacebookcom)
MessageTypechat
messageBody))
Nội dung tin
nhắn gửi đi
ID của bạn begrave sẽ
nhận tin nhắn
XAcircY DỰNG CHỨC NĂNG CHAT
Xacircy dựng tiacutenh năng chat qua
facebook server Như vậy chuacuteng ta đatilde coacute thể hoagraven thagravenh được tiacutenh năng
chat facebook sử dụng thư viecircn agsxmppdll
Cảm ơn thầy vagrave caacutec
bạn đatilde quan tacircm
theo dotildei
VD Lấy danh saacutech bạn begrave
bull Để lấy danh saacutech bạn begrave ta sử dụng hagravem Get
_fbGet(string path)
VD var info=_fbGet(ldquomefriendsrdquo)
Tương taacutec với facebook qua
facebookdll
VD Lấy danh saacutech bạn begrave online
bull Để lấy danh saacutech bạn begrave online ta sử dụng hagravem Get
_fbGet(string path object parameters)
VD
Tương taacutec với facebook qua
facebookdll
VD Lấy danh saacutech Albums của người dugraveng
bull Để lấy danh saacutech album ta dugraveng hagravem
_fbGet(string path)
VD var info=_fbGet(ldquomealbumsrdquo)
Tương taacutec với facebook qua
facebookdll
Hagravem Post
Function Description
virtual object Post(object parameters) Makes a POST request to the Facebook server
virtual object Post(string path object parameters) Makes a POST request to the Facebook server
virtual void PostAsync(object parameters)Makes an asynchronous POST request to the
Facebook server
virtual Taskltobjectgt PostTaskAsync(string path
object parameters)
Makes an asynchronous POST request to the
Facebook server
Tương taacutec với facebook qua
facebookdll
VD Post 1 status lecircn tường
bull Để post status lecircn trang chủ ta sử dụng hagravem Post
_fbPost(string Path object parameter)
VD
Tương taacutec với facebook qua
facebookdll
VD Post 1 higravenh lecircn tường
bull Để post higravenh lecircn trang chủ ta sử dụng hagravem Post
_fbPost(string Path object parameter)
VD
Tương taacutec với facebook qua
facebookdll
Giới thiệu về facebook deverlopers
Giới thiệu về bộ thư viện facebookdll
Tương taacutec với facebook qua facebookdll
Xacircy dựng tiacutenh năng chat qua facebook server
Xacircy dựng tiacutenh năng chat qua
facebook server
Chuacuteng ta sử dụng bộ thư viện agsxmppdll do cocircng ty AG-Software cung cấp
Đacircy lagrave một bộ thư viện được cung cấp miễn phiacute vagrave dựa trecircn phương thức
xmpp
VẤN ĐỀ
Bộ thư viecircn facebookdll khocircng hỗ trợ việc xacircy dựng tiacutenh năng chat
Phiacutea Facebook khocircng hỗ trợ caacutec hagravem API để xacircy dựng tiacutenh năng
chat magrave chỉ hỗ trợ xacircy dựng tiacutenh năng chat thocircng qua giao thức
xmpp (Extensible Messaging and Presence Protocol)
GIẢI PHAacuteP
Link download bộ thư viện agsxmppdll
httpwwwag-softwarenetagsxmpp-sdk
Xacircy dựng tiacutenh năng chat qua
facebook server
Extensible Messaging and Presence Protocol (XMPP) trước đacircy lagrave Jabber lagrave
giao thức mở vagrave dựa trecircn nền tảng XML dugraveng trong nhắn tin nhanh (instant
messaging) vagrave thocircng tin hiện diện trực tuyến (presence information) Theo Hội
Tiecircu chuẩn XMPP (XMPP Standards Foundation trước đacircy lagrave Jabber Software
Foundation JSF) phần mềm dựa trecircn Jabber được triển khai tại hagraveng ngagraven maacutey
phục vụ trecircn Internet vagrave được hơn 10 triệu người trecircn khắp thế giới sử dụng
Jeremie Miller khởi đầu dự aacuten vagraveo năm 1998 phiecircn bản đầu tiecircn được cocircng bố
vagraveo thaacuteng năm 2000 Sản phẩm chiacutenh của dự aacuten lagrave jabberd một trigravenh phục vụ
(server) để từ đoacute caacutec trigravenh khaacutech (client) kết nối đến vagrave trao đổi tin nhắn Trigravenh
phục vụ nagravey coacute thể tạo mạng Jabber riecircng tư (như sau tường lửa) hoặc coacute thể tham
gia vagraveo mạng Jabber cocircng cộng toagraven cầu Đặc tiacutenh cốt lotildei của Jabber lagrave bản chất
của hệ thống tin nhắn nhanh phacircn taacuten vagrave việc sử dụng streaming XML
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
Điểm đặc trưng của hệ thống Jabber lagrave noacute coacute caacutec transport cograven được gọi lagrave
gateway (cổng) cho pheacutep người dugraveng truy cập mạng với caacutec giao thức khaacutec - như
AIM vagrave ICQ (dugraveng OSCAR) MSN Messenger vagrave Windows Messenger (dugraveng Dịch
vụ nhắn tin NET - NET Messenger Service) Yahoo Messenger SMS hay E-mail
Khocircng như caacutec trigravenh khaacutech đa giao thức như Trillian hay Gaim việc truy cập đến
caacutec giao thức khaacutec được Jabber cung cấp ở cấp độ trigravenh phục vụ bằng caacutech truyền
thocircng tin qua caacutec dịch vụ cổng đặc biệt chạy trecircn một maacutey tiacutenh ở xa Bất cứ người
dugraveng nagraveo cũng coacute thể đăng kiacute với một trong caacutec cổng nagravey bằng caacutech cung cấp
thocircng tin cần thiết để đăng nhập vagraveo mạng đoacute vagrave từ đoacute coacute thể liecircn lạc với người
dugraveng của mạng khaacutec như thể họ lagrave người dugraveng Jabber Điều nagravey coacute nghĩa lagrave bất cứ
trigravenh khaacutech nagraveo hỗ trợ đầy đủ giao thức Jabber đều coacute thể được dugraveng để truy cập bất
cứ mạng nagraveo coacute cổng kết nối magrave khocircng cần thecircm dograveng matilde lệnh nagraveo từ trigravenh khaacutech
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
Nền tảng của giao thức Jabber hiện được Tổ chức Phần mềm Jabber quản liacute
đatilde được IETF chấp nhận lagravem giao thức standards-track dưới tecircn XMPP với
RFC 3920 Noacute thường được xem lagrave đối thủ cạnh tranh với SIMPLE dựa trecircn
giao thức SIP để lagravem giao thức chuẩn cho nhắn tin nhanh vagrave thocircng baacuteo hiện
diện tuy nhiecircn thiết kế của XMPP được nhắm đến việc cung cấp caacutec tiện iacutech
trigravenh trung gian (middleware) liecircn ứng dụng vagrave mục điacutech tổng quaacutet
Người dugraveng Jabber được xaacutec định bằng tecircn người dugraveng vagrave tecircn maacutey phục vụ
caacutech nhau bằng dấu Căn cước nagravey được gọi lagrave Jabber ID hay JID
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
JID coacute dạng thức tecircn_người_dugravengtecircn_miềntagravei_nguyecircn tương tự như một địa
chỉ email
Người dugraveng Jabber coacute thể truy cập vagraveo tagravei khoản của migravenh cugraveng luacutec tại nhiều điểm
truy cập khaacutec nhau được xaacutec định qua phần tagravei_nguyecircn viacute dụ
tecircn_người_dugravengtecircn_miềncomcơ_quan vagrave tecircn_người_dugravengtecircn_miềncomnhagrave
Khocircng cần thiết chỉ định phần tagravei nguyecircn khi liecircn lạc với người dugraveng khaacutec
Tương tự như Sendmail người dugraveng Jabber coacute thể truy cập vagraveo caacutec giao thức
khaacutec qua cổng giao tiếp Jabber (Jabber Transport) viacute dụ JID của một địa chỉ lagrave
tecircn_người_dugravengmsncommsnjabberservercom
Tecircn người dugraveng trong JID dagravei tối đa 1023 kyacute tự vagrave khocircng được chứa
lt gt amp khoảng trắng vagrave kyacute tự điều khiển
JID
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Add thư viện agsXMPP vagraveo project Khai baacuteo để sử dụng
Xacircy dựng tiacutenh năng chat qua
facebook server
Để coacute thể đăng nhập vagraveo dịch vụ chat ta cần phải coacute username của người dugraveng vagrave
password Username của người dugraveng coacute thể tigravem thấy dưới dạng
Sau khi đatilde coacute username vagrave pass của người dugraveng chuacuteng ta tiến hagravenh đăng nhập
XmppClientConnection xmpp
xmpp = new XmppClientConnection(ldquochatfacebookcomrdquo)
xmppOpen(username password)
if (xmppAuthenticated == true)
Presence p = new Presence(ShowTypechat Online)pType = PresenceTypeavailable
xmppSend(p)
ThreadSleep(6000)
httpswwwfacebookcom[username]
Khai baacuteo
XAcircY DỰNG CHỨC NĂNG CHAT
Tecircn server chat
của facebookDừng lại để chờ
server xaacutec thực
Username
chỗ nagravey
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Add bạn begrave vagraveo danh saacutech chat
xmppMessageGrabberAdd(new Jid(- + friendId + chatfacebookcom)
new BareJidComparer()
new MessageCB(MessageCallBack)
null)
ID của bạn begrave
Hagravem nhận sự kiện
khi coacute tin nhắn tới
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Hagravem nhận sự kiện tin nhắn đến
void MessageCallBack(object sender Message msg object data)
if (msgBody = null)displayMessage()
Đacircy lagrave hagravem chịu traacutech
nhiệm xử liacute vagrave hiển thị tin
nhắn
Xacircy dựng tiacutenh năng chat qua
facebook server
Gửi tin nhắn đi
xmppSend(new Message(new Jid(ldquo-rdquo + friendID + chatfacebookcom)
MessageTypechat
messageBody))
Nội dung tin
nhắn gửi đi
ID của bạn begrave sẽ
nhận tin nhắn
XAcircY DỰNG CHỨC NĂNG CHAT
Xacircy dựng tiacutenh năng chat qua
facebook server Như vậy chuacuteng ta đatilde coacute thể hoagraven thagravenh được tiacutenh năng
chat facebook sử dụng thư viecircn agsxmppdll
Cảm ơn thầy vagrave caacutec
bạn đatilde quan tacircm
theo dotildei
VD Lấy danh saacutech bạn begrave online
bull Để lấy danh saacutech bạn begrave online ta sử dụng hagravem Get
_fbGet(string path object parameters)
VD
Tương taacutec với facebook qua
facebookdll
VD Lấy danh saacutech Albums của người dugraveng
bull Để lấy danh saacutech album ta dugraveng hagravem
_fbGet(string path)
VD var info=_fbGet(ldquomealbumsrdquo)
Tương taacutec với facebook qua
facebookdll
Hagravem Post
Function Description
virtual object Post(object parameters) Makes a POST request to the Facebook server
virtual object Post(string path object parameters) Makes a POST request to the Facebook server
virtual void PostAsync(object parameters)Makes an asynchronous POST request to the
Facebook server
virtual Taskltobjectgt PostTaskAsync(string path
object parameters)
Makes an asynchronous POST request to the
Facebook server
Tương taacutec với facebook qua
facebookdll
VD Post 1 status lecircn tường
bull Để post status lecircn trang chủ ta sử dụng hagravem Post
_fbPost(string Path object parameter)
VD
Tương taacutec với facebook qua
facebookdll
VD Post 1 higravenh lecircn tường
bull Để post higravenh lecircn trang chủ ta sử dụng hagravem Post
_fbPost(string Path object parameter)
VD
Tương taacutec với facebook qua
facebookdll
Giới thiệu về facebook deverlopers
Giới thiệu về bộ thư viện facebookdll
Tương taacutec với facebook qua facebookdll
Xacircy dựng tiacutenh năng chat qua facebook server
Xacircy dựng tiacutenh năng chat qua
facebook server
Chuacuteng ta sử dụng bộ thư viện agsxmppdll do cocircng ty AG-Software cung cấp
Đacircy lagrave một bộ thư viện được cung cấp miễn phiacute vagrave dựa trecircn phương thức
xmpp
VẤN ĐỀ
Bộ thư viecircn facebookdll khocircng hỗ trợ việc xacircy dựng tiacutenh năng chat
Phiacutea Facebook khocircng hỗ trợ caacutec hagravem API để xacircy dựng tiacutenh năng
chat magrave chỉ hỗ trợ xacircy dựng tiacutenh năng chat thocircng qua giao thức
xmpp (Extensible Messaging and Presence Protocol)
GIẢI PHAacuteP
Link download bộ thư viện agsxmppdll
httpwwwag-softwarenetagsxmpp-sdk
Xacircy dựng tiacutenh năng chat qua
facebook server
Extensible Messaging and Presence Protocol (XMPP) trước đacircy lagrave Jabber lagrave
giao thức mở vagrave dựa trecircn nền tảng XML dugraveng trong nhắn tin nhanh (instant
messaging) vagrave thocircng tin hiện diện trực tuyến (presence information) Theo Hội
Tiecircu chuẩn XMPP (XMPP Standards Foundation trước đacircy lagrave Jabber Software
Foundation JSF) phần mềm dựa trecircn Jabber được triển khai tại hagraveng ngagraven maacutey
phục vụ trecircn Internet vagrave được hơn 10 triệu người trecircn khắp thế giới sử dụng
Jeremie Miller khởi đầu dự aacuten vagraveo năm 1998 phiecircn bản đầu tiecircn được cocircng bố
vagraveo thaacuteng năm 2000 Sản phẩm chiacutenh của dự aacuten lagrave jabberd một trigravenh phục vụ
(server) để từ đoacute caacutec trigravenh khaacutech (client) kết nối đến vagrave trao đổi tin nhắn Trigravenh
phục vụ nagravey coacute thể tạo mạng Jabber riecircng tư (như sau tường lửa) hoặc coacute thể tham
gia vagraveo mạng Jabber cocircng cộng toagraven cầu Đặc tiacutenh cốt lotildei của Jabber lagrave bản chất
của hệ thống tin nhắn nhanh phacircn taacuten vagrave việc sử dụng streaming XML
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
Điểm đặc trưng của hệ thống Jabber lagrave noacute coacute caacutec transport cograven được gọi lagrave
gateway (cổng) cho pheacutep người dugraveng truy cập mạng với caacutec giao thức khaacutec - như
AIM vagrave ICQ (dugraveng OSCAR) MSN Messenger vagrave Windows Messenger (dugraveng Dịch
vụ nhắn tin NET - NET Messenger Service) Yahoo Messenger SMS hay E-mail
Khocircng như caacutec trigravenh khaacutech đa giao thức như Trillian hay Gaim việc truy cập đến
caacutec giao thức khaacutec được Jabber cung cấp ở cấp độ trigravenh phục vụ bằng caacutech truyền
thocircng tin qua caacutec dịch vụ cổng đặc biệt chạy trecircn một maacutey tiacutenh ở xa Bất cứ người
dugraveng nagraveo cũng coacute thể đăng kiacute với một trong caacutec cổng nagravey bằng caacutech cung cấp
thocircng tin cần thiết để đăng nhập vagraveo mạng đoacute vagrave từ đoacute coacute thể liecircn lạc với người
dugraveng của mạng khaacutec như thể họ lagrave người dugraveng Jabber Điều nagravey coacute nghĩa lagrave bất cứ
trigravenh khaacutech nagraveo hỗ trợ đầy đủ giao thức Jabber đều coacute thể được dugraveng để truy cập bất
cứ mạng nagraveo coacute cổng kết nối magrave khocircng cần thecircm dograveng matilde lệnh nagraveo từ trigravenh khaacutech
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
Nền tảng của giao thức Jabber hiện được Tổ chức Phần mềm Jabber quản liacute
đatilde được IETF chấp nhận lagravem giao thức standards-track dưới tecircn XMPP với
RFC 3920 Noacute thường được xem lagrave đối thủ cạnh tranh với SIMPLE dựa trecircn
giao thức SIP để lagravem giao thức chuẩn cho nhắn tin nhanh vagrave thocircng baacuteo hiện
diện tuy nhiecircn thiết kế của XMPP được nhắm đến việc cung cấp caacutec tiện iacutech
trigravenh trung gian (middleware) liecircn ứng dụng vagrave mục điacutech tổng quaacutet
Người dugraveng Jabber được xaacutec định bằng tecircn người dugraveng vagrave tecircn maacutey phục vụ
caacutech nhau bằng dấu Căn cước nagravey được gọi lagrave Jabber ID hay JID
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
JID coacute dạng thức tecircn_người_dugravengtecircn_miềntagravei_nguyecircn tương tự như một địa
chỉ email
Người dugraveng Jabber coacute thể truy cập vagraveo tagravei khoản của migravenh cugraveng luacutec tại nhiều điểm
truy cập khaacutec nhau được xaacutec định qua phần tagravei_nguyecircn viacute dụ
tecircn_người_dugravengtecircn_miềncomcơ_quan vagrave tecircn_người_dugravengtecircn_miềncomnhagrave
Khocircng cần thiết chỉ định phần tagravei nguyecircn khi liecircn lạc với người dugraveng khaacutec
Tương tự như Sendmail người dugraveng Jabber coacute thể truy cập vagraveo caacutec giao thức
khaacutec qua cổng giao tiếp Jabber (Jabber Transport) viacute dụ JID của một địa chỉ lagrave
tecircn_người_dugravengmsncommsnjabberservercom
Tecircn người dugraveng trong JID dagravei tối đa 1023 kyacute tự vagrave khocircng được chứa
lt gt amp khoảng trắng vagrave kyacute tự điều khiển
JID
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Add thư viện agsXMPP vagraveo project Khai baacuteo để sử dụng
Xacircy dựng tiacutenh năng chat qua
facebook server
Để coacute thể đăng nhập vagraveo dịch vụ chat ta cần phải coacute username của người dugraveng vagrave
password Username của người dugraveng coacute thể tigravem thấy dưới dạng
Sau khi đatilde coacute username vagrave pass của người dugraveng chuacuteng ta tiến hagravenh đăng nhập
XmppClientConnection xmpp
xmpp = new XmppClientConnection(ldquochatfacebookcomrdquo)
xmppOpen(username password)
if (xmppAuthenticated == true)
Presence p = new Presence(ShowTypechat Online)pType = PresenceTypeavailable
xmppSend(p)
ThreadSleep(6000)
httpswwwfacebookcom[username]
Khai baacuteo
XAcircY DỰNG CHỨC NĂNG CHAT
Tecircn server chat
của facebookDừng lại để chờ
server xaacutec thực
Username
chỗ nagravey
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Add bạn begrave vagraveo danh saacutech chat
xmppMessageGrabberAdd(new Jid(- + friendId + chatfacebookcom)
new BareJidComparer()
new MessageCB(MessageCallBack)
null)
ID của bạn begrave
Hagravem nhận sự kiện
khi coacute tin nhắn tới
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Hagravem nhận sự kiện tin nhắn đến
void MessageCallBack(object sender Message msg object data)
if (msgBody = null)displayMessage()
Đacircy lagrave hagravem chịu traacutech
nhiệm xử liacute vagrave hiển thị tin
nhắn
Xacircy dựng tiacutenh năng chat qua
facebook server
Gửi tin nhắn đi
xmppSend(new Message(new Jid(ldquo-rdquo + friendID + chatfacebookcom)
MessageTypechat
messageBody))
Nội dung tin
nhắn gửi đi
ID của bạn begrave sẽ
nhận tin nhắn
XAcircY DỰNG CHỨC NĂNG CHAT
Xacircy dựng tiacutenh năng chat qua
facebook server Như vậy chuacuteng ta đatilde coacute thể hoagraven thagravenh được tiacutenh năng
chat facebook sử dụng thư viecircn agsxmppdll
Cảm ơn thầy vagrave caacutec
bạn đatilde quan tacircm
theo dotildei
VD Lấy danh saacutech Albums của người dugraveng
bull Để lấy danh saacutech album ta dugraveng hagravem
_fbGet(string path)
VD var info=_fbGet(ldquomealbumsrdquo)
Tương taacutec với facebook qua
facebookdll
Hagravem Post
Function Description
virtual object Post(object parameters) Makes a POST request to the Facebook server
virtual object Post(string path object parameters) Makes a POST request to the Facebook server
virtual void PostAsync(object parameters)Makes an asynchronous POST request to the
Facebook server
virtual Taskltobjectgt PostTaskAsync(string path
object parameters)
Makes an asynchronous POST request to the
Facebook server
Tương taacutec với facebook qua
facebookdll
VD Post 1 status lecircn tường
bull Để post status lecircn trang chủ ta sử dụng hagravem Post
_fbPost(string Path object parameter)
VD
Tương taacutec với facebook qua
facebookdll
VD Post 1 higravenh lecircn tường
bull Để post higravenh lecircn trang chủ ta sử dụng hagravem Post
_fbPost(string Path object parameter)
VD
Tương taacutec với facebook qua
facebookdll
Giới thiệu về facebook deverlopers
Giới thiệu về bộ thư viện facebookdll
Tương taacutec với facebook qua facebookdll
Xacircy dựng tiacutenh năng chat qua facebook server
Xacircy dựng tiacutenh năng chat qua
facebook server
Chuacuteng ta sử dụng bộ thư viện agsxmppdll do cocircng ty AG-Software cung cấp
Đacircy lagrave một bộ thư viện được cung cấp miễn phiacute vagrave dựa trecircn phương thức
xmpp
VẤN ĐỀ
Bộ thư viecircn facebookdll khocircng hỗ trợ việc xacircy dựng tiacutenh năng chat
Phiacutea Facebook khocircng hỗ trợ caacutec hagravem API để xacircy dựng tiacutenh năng
chat magrave chỉ hỗ trợ xacircy dựng tiacutenh năng chat thocircng qua giao thức
xmpp (Extensible Messaging and Presence Protocol)
GIẢI PHAacuteP
Link download bộ thư viện agsxmppdll
httpwwwag-softwarenetagsxmpp-sdk
Xacircy dựng tiacutenh năng chat qua
facebook server
Extensible Messaging and Presence Protocol (XMPP) trước đacircy lagrave Jabber lagrave
giao thức mở vagrave dựa trecircn nền tảng XML dugraveng trong nhắn tin nhanh (instant
messaging) vagrave thocircng tin hiện diện trực tuyến (presence information) Theo Hội
Tiecircu chuẩn XMPP (XMPP Standards Foundation trước đacircy lagrave Jabber Software
Foundation JSF) phần mềm dựa trecircn Jabber được triển khai tại hagraveng ngagraven maacutey
phục vụ trecircn Internet vagrave được hơn 10 triệu người trecircn khắp thế giới sử dụng
Jeremie Miller khởi đầu dự aacuten vagraveo năm 1998 phiecircn bản đầu tiecircn được cocircng bố
vagraveo thaacuteng năm 2000 Sản phẩm chiacutenh của dự aacuten lagrave jabberd một trigravenh phục vụ
(server) để từ đoacute caacutec trigravenh khaacutech (client) kết nối đến vagrave trao đổi tin nhắn Trigravenh
phục vụ nagravey coacute thể tạo mạng Jabber riecircng tư (như sau tường lửa) hoặc coacute thể tham
gia vagraveo mạng Jabber cocircng cộng toagraven cầu Đặc tiacutenh cốt lotildei của Jabber lagrave bản chất
của hệ thống tin nhắn nhanh phacircn taacuten vagrave việc sử dụng streaming XML
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
Điểm đặc trưng của hệ thống Jabber lagrave noacute coacute caacutec transport cograven được gọi lagrave
gateway (cổng) cho pheacutep người dugraveng truy cập mạng với caacutec giao thức khaacutec - như
AIM vagrave ICQ (dugraveng OSCAR) MSN Messenger vagrave Windows Messenger (dugraveng Dịch
vụ nhắn tin NET - NET Messenger Service) Yahoo Messenger SMS hay E-mail
Khocircng như caacutec trigravenh khaacutech đa giao thức như Trillian hay Gaim việc truy cập đến
caacutec giao thức khaacutec được Jabber cung cấp ở cấp độ trigravenh phục vụ bằng caacutech truyền
thocircng tin qua caacutec dịch vụ cổng đặc biệt chạy trecircn một maacutey tiacutenh ở xa Bất cứ người
dugraveng nagraveo cũng coacute thể đăng kiacute với một trong caacutec cổng nagravey bằng caacutech cung cấp
thocircng tin cần thiết để đăng nhập vagraveo mạng đoacute vagrave từ đoacute coacute thể liecircn lạc với người
dugraveng của mạng khaacutec như thể họ lagrave người dugraveng Jabber Điều nagravey coacute nghĩa lagrave bất cứ
trigravenh khaacutech nagraveo hỗ trợ đầy đủ giao thức Jabber đều coacute thể được dugraveng để truy cập bất
cứ mạng nagraveo coacute cổng kết nối magrave khocircng cần thecircm dograveng matilde lệnh nagraveo từ trigravenh khaacutech
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
Nền tảng của giao thức Jabber hiện được Tổ chức Phần mềm Jabber quản liacute
đatilde được IETF chấp nhận lagravem giao thức standards-track dưới tecircn XMPP với
RFC 3920 Noacute thường được xem lagrave đối thủ cạnh tranh với SIMPLE dựa trecircn
giao thức SIP để lagravem giao thức chuẩn cho nhắn tin nhanh vagrave thocircng baacuteo hiện
diện tuy nhiecircn thiết kế của XMPP được nhắm đến việc cung cấp caacutec tiện iacutech
trigravenh trung gian (middleware) liecircn ứng dụng vagrave mục điacutech tổng quaacutet
Người dugraveng Jabber được xaacutec định bằng tecircn người dugraveng vagrave tecircn maacutey phục vụ
caacutech nhau bằng dấu Căn cước nagravey được gọi lagrave Jabber ID hay JID
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
JID coacute dạng thức tecircn_người_dugravengtecircn_miềntagravei_nguyecircn tương tự như một địa
chỉ email
Người dugraveng Jabber coacute thể truy cập vagraveo tagravei khoản của migravenh cugraveng luacutec tại nhiều điểm
truy cập khaacutec nhau được xaacutec định qua phần tagravei_nguyecircn viacute dụ
tecircn_người_dugravengtecircn_miềncomcơ_quan vagrave tecircn_người_dugravengtecircn_miềncomnhagrave
Khocircng cần thiết chỉ định phần tagravei nguyecircn khi liecircn lạc với người dugraveng khaacutec
Tương tự như Sendmail người dugraveng Jabber coacute thể truy cập vagraveo caacutec giao thức
khaacutec qua cổng giao tiếp Jabber (Jabber Transport) viacute dụ JID của một địa chỉ lagrave
tecircn_người_dugravengmsncommsnjabberservercom
Tecircn người dugraveng trong JID dagravei tối đa 1023 kyacute tự vagrave khocircng được chứa
lt gt amp khoảng trắng vagrave kyacute tự điều khiển
JID
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Add thư viện agsXMPP vagraveo project Khai baacuteo để sử dụng
Xacircy dựng tiacutenh năng chat qua
facebook server
Để coacute thể đăng nhập vagraveo dịch vụ chat ta cần phải coacute username của người dugraveng vagrave
password Username của người dugraveng coacute thể tigravem thấy dưới dạng
Sau khi đatilde coacute username vagrave pass của người dugraveng chuacuteng ta tiến hagravenh đăng nhập
XmppClientConnection xmpp
xmpp = new XmppClientConnection(ldquochatfacebookcomrdquo)
xmppOpen(username password)
if (xmppAuthenticated == true)
Presence p = new Presence(ShowTypechat Online)pType = PresenceTypeavailable
xmppSend(p)
ThreadSleep(6000)
httpswwwfacebookcom[username]
Khai baacuteo
XAcircY DỰNG CHỨC NĂNG CHAT
Tecircn server chat
của facebookDừng lại để chờ
server xaacutec thực
Username
chỗ nagravey
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Add bạn begrave vagraveo danh saacutech chat
xmppMessageGrabberAdd(new Jid(- + friendId + chatfacebookcom)
new BareJidComparer()
new MessageCB(MessageCallBack)
null)
ID của bạn begrave
Hagravem nhận sự kiện
khi coacute tin nhắn tới
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Hagravem nhận sự kiện tin nhắn đến
void MessageCallBack(object sender Message msg object data)
if (msgBody = null)displayMessage()
Đacircy lagrave hagravem chịu traacutech
nhiệm xử liacute vagrave hiển thị tin
nhắn
Xacircy dựng tiacutenh năng chat qua
facebook server
Gửi tin nhắn đi
xmppSend(new Message(new Jid(ldquo-rdquo + friendID + chatfacebookcom)
MessageTypechat
messageBody))
Nội dung tin
nhắn gửi đi
ID của bạn begrave sẽ
nhận tin nhắn
XAcircY DỰNG CHỨC NĂNG CHAT
Xacircy dựng tiacutenh năng chat qua
facebook server Như vậy chuacuteng ta đatilde coacute thể hoagraven thagravenh được tiacutenh năng
chat facebook sử dụng thư viecircn agsxmppdll
Cảm ơn thầy vagrave caacutec
bạn đatilde quan tacircm
theo dotildei
Hagravem Post
Function Description
virtual object Post(object parameters) Makes a POST request to the Facebook server
virtual object Post(string path object parameters) Makes a POST request to the Facebook server
virtual void PostAsync(object parameters)Makes an asynchronous POST request to the
Facebook server
virtual Taskltobjectgt PostTaskAsync(string path
object parameters)
Makes an asynchronous POST request to the
Facebook server
Tương taacutec với facebook qua
facebookdll
VD Post 1 status lecircn tường
bull Để post status lecircn trang chủ ta sử dụng hagravem Post
_fbPost(string Path object parameter)
VD
Tương taacutec với facebook qua
facebookdll
VD Post 1 higravenh lecircn tường
bull Để post higravenh lecircn trang chủ ta sử dụng hagravem Post
_fbPost(string Path object parameter)
VD
Tương taacutec với facebook qua
facebookdll
Giới thiệu về facebook deverlopers
Giới thiệu về bộ thư viện facebookdll
Tương taacutec với facebook qua facebookdll
Xacircy dựng tiacutenh năng chat qua facebook server
Xacircy dựng tiacutenh năng chat qua
facebook server
Chuacuteng ta sử dụng bộ thư viện agsxmppdll do cocircng ty AG-Software cung cấp
Đacircy lagrave một bộ thư viện được cung cấp miễn phiacute vagrave dựa trecircn phương thức
xmpp
VẤN ĐỀ
Bộ thư viecircn facebookdll khocircng hỗ trợ việc xacircy dựng tiacutenh năng chat
Phiacutea Facebook khocircng hỗ trợ caacutec hagravem API để xacircy dựng tiacutenh năng
chat magrave chỉ hỗ trợ xacircy dựng tiacutenh năng chat thocircng qua giao thức
xmpp (Extensible Messaging and Presence Protocol)
GIẢI PHAacuteP
Link download bộ thư viện agsxmppdll
httpwwwag-softwarenetagsxmpp-sdk
Xacircy dựng tiacutenh năng chat qua
facebook server
Extensible Messaging and Presence Protocol (XMPP) trước đacircy lagrave Jabber lagrave
giao thức mở vagrave dựa trecircn nền tảng XML dugraveng trong nhắn tin nhanh (instant
messaging) vagrave thocircng tin hiện diện trực tuyến (presence information) Theo Hội
Tiecircu chuẩn XMPP (XMPP Standards Foundation trước đacircy lagrave Jabber Software
Foundation JSF) phần mềm dựa trecircn Jabber được triển khai tại hagraveng ngagraven maacutey
phục vụ trecircn Internet vagrave được hơn 10 triệu người trecircn khắp thế giới sử dụng
Jeremie Miller khởi đầu dự aacuten vagraveo năm 1998 phiecircn bản đầu tiecircn được cocircng bố
vagraveo thaacuteng năm 2000 Sản phẩm chiacutenh của dự aacuten lagrave jabberd một trigravenh phục vụ
(server) để từ đoacute caacutec trigravenh khaacutech (client) kết nối đến vagrave trao đổi tin nhắn Trigravenh
phục vụ nagravey coacute thể tạo mạng Jabber riecircng tư (như sau tường lửa) hoặc coacute thể tham
gia vagraveo mạng Jabber cocircng cộng toagraven cầu Đặc tiacutenh cốt lotildei của Jabber lagrave bản chất
của hệ thống tin nhắn nhanh phacircn taacuten vagrave việc sử dụng streaming XML
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
Điểm đặc trưng của hệ thống Jabber lagrave noacute coacute caacutec transport cograven được gọi lagrave
gateway (cổng) cho pheacutep người dugraveng truy cập mạng với caacutec giao thức khaacutec - như
AIM vagrave ICQ (dugraveng OSCAR) MSN Messenger vagrave Windows Messenger (dugraveng Dịch
vụ nhắn tin NET - NET Messenger Service) Yahoo Messenger SMS hay E-mail
Khocircng như caacutec trigravenh khaacutech đa giao thức như Trillian hay Gaim việc truy cập đến
caacutec giao thức khaacutec được Jabber cung cấp ở cấp độ trigravenh phục vụ bằng caacutech truyền
thocircng tin qua caacutec dịch vụ cổng đặc biệt chạy trecircn một maacutey tiacutenh ở xa Bất cứ người
dugraveng nagraveo cũng coacute thể đăng kiacute với một trong caacutec cổng nagravey bằng caacutech cung cấp
thocircng tin cần thiết để đăng nhập vagraveo mạng đoacute vagrave từ đoacute coacute thể liecircn lạc với người
dugraveng của mạng khaacutec như thể họ lagrave người dugraveng Jabber Điều nagravey coacute nghĩa lagrave bất cứ
trigravenh khaacutech nagraveo hỗ trợ đầy đủ giao thức Jabber đều coacute thể được dugraveng để truy cập bất
cứ mạng nagraveo coacute cổng kết nối magrave khocircng cần thecircm dograveng matilde lệnh nagraveo từ trigravenh khaacutech
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
Nền tảng của giao thức Jabber hiện được Tổ chức Phần mềm Jabber quản liacute
đatilde được IETF chấp nhận lagravem giao thức standards-track dưới tecircn XMPP với
RFC 3920 Noacute thường được xem lagrave đối thủ cạnh tranh với SIMPLE dựa trecircn
giao thức SIP để lagravem giao thức chuẩn cho nhắn tin nhanh vagrave thocircng baacuteo hiện
diện tuy nhiecircn thiết kế của XMPP được nhắm đến việc cung cấp caacutec tiện iacutech
trigravenh trung gian (middleware) liecircn ứng dụng vagrave mục điacutech tổng quaacutet
Người dugraveng Jabber được xaacutec định bằng tecircn người dugraveng vagrave tecircn maacutey phục vụ
caacutech nhau bằng dấu Căn cước nagravey được gọi lagrave Jabber ID hay JID
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
JID coacute dạng thức tecircn_người_dugravengtecircn_miềntagravei_nguyecircn tương tự như một địa
chỉ email
Người dugraveng Jabber coacute thể truy cập vagraveo tagravei khoản của migravenh cugraveng luacutec tại nhiều điểm
truy cập khaacutec nhau được xaacutec định qua phần tagravei_nguyecircn viacute dụ
tecircn_người_dugravengtecircn_miềncomcơ_quan vagrave tecircn_người_dugravengtecircn_miềncomnhagrave
Khocircng cần thiết chỉ định phần tagravei nguyecircn khi liecircn lạc với người dugraveng khaacutec
Tương tự như Sendmail người dugraveng Jabber coacute thể truy cập vagraveo caacutec giao thức
khaacutec qua cổng giao tiếp Jabber (Jabber Transport) viacute dụ JID của một địa chỉ lagrave
tecircn_người_dugravengmsncommsnjabberservercom
Tecircn người dugraveng trong JID dagravei tối đa 1023 kyacute tự vagrave khocircng được chứa
lt gt amp khoảng trắng vagrave kyacute tự điều khiển
JID
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Add thư viện agsXMPP vagraveo project Khai baacuteo để sử dụng
Xacircy dựng tiacutenh năng chat qua
facebook server
Để coacute thể đăng nhập vagraveo dịch vụ chat ta cần phải coacute username của người dugraveng vagrave
password Username của người dugraveng coacute thể tigravem thấy dưới dạng
Sau khi đatilde coacute username vagrave pass của người dugraveng chuacuteng ta tiến hagravenh đăng nhập
XmppClientConnection xmpp
xmpp = new XmppClientConnection(ldquochatfacebookcomrdquo)
xmppOpen(username password)
if (xmppAuthenticated == true)
Presence p = new Presence(ShowTypechat Online)pType = PresenceTypeavailable
xmppSend(p)
ThreadSleep(6000)
httpswwwfacebookcom[username]
Khai baacuteo
XAcircY DỰNG CHỨC NĂNG CHAT
Tecircn server chat
của facebookDừng lại để chờ
server xaacutec thực
Username
chỗ nagravey
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Add bạn begrave vagraveo danh saacutech chat
xmppMessageGrabberAdd(new Jid(- + friendId + chatfacebookcom)
new BareJidComparer()
new MessageCB(MessageCallBack)
null)
ID của bạn begrave
Hagravem nhận sự kiện
khi coacute tin nhắn tới
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Hagravem nhận sự kiện tin nhắn đến
void MessageCallBack(object sender Message msg object data)
if (msgBody = null)displayMessage()
Đacircy lagrave hagravem chịu traacutech
nhiệm xử liacute vagrave hiển thị tin
nhắn
Xacircy dựng tiacutenh năng chat qua
facebook server
Gửi tin nhắn đi
xmppSend(new Message(new Jid(ldquo-rdquo + friendID + chatfacebookcom)
MessageTypechat
messageBody))
Nội dung tin
nhắn gửi đi
ID của bạn begrave sẽ
nhận tin nhắn
XAcircY DỰNG CHỨC NĂNG CHAT
Xacircy dựng tiacutenh năng chat qua
facebook server Như vậy chuacuteng ta đatilde coacute thể hoagraven thagravenh được tiacutenh năng
chat facebook sử dụng thư viecircn agsxmppdll
Cảm ơn thầy vagrave caacutec
bạn đatilde quan tacircm
theo dotildei
VD Post 1 status lecircn tường
bull Để post status lecircn trang chủ ta sử dụng hagravem Post
_fbPost(string Path object parameter)
VD
Tương taacutec với facebook qua
facebookdll
VD Post 1 higravenh lecircn tường
bull Để post higravenh lecircn trang chủ ta sử dụng hagravem Post
_fbPost(string Path object parameter)
VD
Tương taacutec với facebook qua
facebookdll
Giới thiệu về facebook deverlopers
Giới thiệu về bộ thư viện facebookdll
Tương taacutec với facebook qua facebookdll
Xacircy dựng tiacutenh năng chat qua facebook server
Xacircy dựng tiacutenh năng chat qua
facebook server
Chuacuteng ta sử dụng bộ thư viện agsxmppdll do cocircng ty AG-Software cung cấp
Đacircy lagrave một bộ thư viện được cung cấp miễn phiacute vagrave dựa trecircn phương thức
xmpp
VẤN ĐỀ
Bộ thư viecircn facebookdll khocircng hỗ trợ việc xacircy dựng tiacutenh năng chat
Phiacutea Facebook khocircng hỗ trợ caacutec hagravem API để xacircy dựng tiacutenh năng
chat magrave chỉ hỗ trợ xacircy dựng tiacutenh năng chat thocircng qua giao thức
xmpp (Extensible Messaging and Presence Protocol)
GIẢI PHAacuteP
Link download bộ thư viện agsxmppdll
httpwwwag-softwarenetagsxmpp-sdk
Xacircy dựng tiacutenh năng chat qua
facebook server
Extensible Messaging and Presence Protocol (XMPP) trước đacircy lagrave Jabber lagrave
giao thức mở vagrave dựa trecircn nền tảng XML dugraveng trong nhắn tin nhanh (instant
messaging) vagrave thocircng tin hiện diện trực tuyến (presence information) Theo Hội
Tiecircu chuẩn XMPP (XMPP Standards Foundation trước đacircy lagrave Jabber Software
Foundation JSF) phần mềm dựa trecircn Jabber được triển khai tại hagraveng ngagraven maacutey
phục vụ trecircn Internet vagrave được hơn 10 triệu người trecircn khắp thế giới sử dụng
Jeremie Miller khởi đầu dự aacuten vagraveo năm 1998 phiecircn bản đầu tiecircn được cocircng bố
vagraveo thaacuteng năm 2000 Sản phẩm chiacutenh của dự aacuten lagrave jabberd một trigravenh phục vụ
(server) để từ đoacute caacutec trigravenh khaacutech (client) kết nối đến vagrave trao đổi tin nhắn Trigravenh
phục vụ nagravey coacute thể tạo mạng Jabber riecircng tư (như sau tường lửa) hoặc coacute thể tham
gia vagraveo mạng Jabber cocircng cộng toagraven cầu Đặc tiacutenh cốt lotildei của Jabber lagrave bản chất
của hệ thống tin nhắn nhanh phacircn taacuten vagrave việc sử dụng streaming XML
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
Điểm đặc trưng của hệ thống Jabber lagrave noacute coacute caacutec transport cograven được gọi lagrave
gateway (cổng) cho pheacutep người dugraveng truy cập mạng với caacutec giao thức khaacutec - như
AIM vagrave ICQ (dugraveng OSCAR) MSN Messenger vagrave Windows Messenger (dugraveng Dịch
vụ nhắn tin NET - NET Messenger Service) Yahoo Messenger SMS hay E-mail
Khocircng như caacutec trigravenh khaacutech đa giao thức như Trillian hay Gaim việc truy cập đến
caacutec giao thức khaacutec được Jabber cung cấp ở cấp độ trigravenh phục vụ bằng caacutech truyền
thocircng tin qua caacutec dịch vụ cổng đặc biệt chạy trecircn một maacutey tiacutenh ở xa Bất cứ người
dugraveng nagraveo cũng coacute thể đăng kiacute với một trong caacutec cổng nagravey bằng caacutech cung cấp
thocircng tin cần thiết để đăng nhập vagraveo mạng đoacute vagrave từ đoacute coacute thể liecircn lạc với người
dugraveng của mạng khaacutec như thể họ lagrave người dugraveng Jabber Điều nagravey coacute nghĩa lagrave bất cứ
trigravenh khaacutech nagraveo hỗ trợ đầy đủ giao thức Jabber đều coacute thể được dugraveng để truy cập bất
cứ mạng nagraveo coacute cổng kết nối magrave khocircng cần thecircm dograveng matilde lệnh nagraveo từ trigravenh khaacutech
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
Nền tảng của giao thức Jabber hiện được Tổ chức Phần mềm Jabber quản liacute
đatilde được IETF chấp nhận lagravem giao thức standards-track dưới tecircn XMPP với
RFC 3920 Noacute thường được xem lagrave đối thủ cạnh tranh với SIMPLE dựa trecircn
giao thức SIP để lagravem giao thức chuẩn cho nhắn tin nhanh vagrave thocircng baacuteo hiện
diện tuy nhiecircn thiết kế của XMPP được nhắm đến việc cung cấp caacutec tiện iacutech
trigravenh trung gian (middleware) liecircn ứng dụng vagrave mục điacutech tổng quaacutet
Người dugraveng Jabber được xaacutec định bằng tecircn người dugraveng vagrave tecircn maacutey phục vụ
caacutech nhau bằng dấu Căn cước nagravey được gọi lagrave Jabber ID hay JID
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
JID coacute dạng thức tecircn_người_dugravengtecircn_miềntagravei_nguyecircn tương tự như một địa
chỉ email
Người dugraveng Jabber coacute thể truy cập vagraveo tagravei khoản của migravenh cugraveng luacutec tại nhiều điểm
truy cập khaacutec nhau được xaacutec định qua phần tagravei_nguyecircn viacute dụ
tecircn_người_dugravengtecircn_miềncomcơ_quan vagrave tecircn_người_dugravengtecircn_miềncomnhagrave
Khocircng cần thiết chỉ định phần tagravei nguyecircn khi liecircn lạc với người dugraveng khaacutec
Tương tự như Sendmail người dugraveng Jabber coacute thể truy cập vagraveo caacutec giao thức
khaacutec qua cổng giao tiếp Jabber (Jabber Transport) viacute dụ JID của một địa chỉ lagrave
tecircn_người_dugravengmsncommsnjabberservercom
Tecircn người dugraveng trong JID dagravei tối đa 1023 kyacute tự vagrave khocircng được chứa
lt gt amp khoảng trắng vagrave kyacute tự điều khiển
JID
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Add thư viện agsXMPP vagraveo project Khai baacuteo để sử dụng
Xacircy dựng tiacutenh năng chat qua
facebook server
Để coacute thể đăng nhập vagraveo dịch vụ chat ta cần phải coacute username của người dugraveng vagrave
password Username của người dugraveng coacute thể tigravem thấy dưới dạng
Sau khi đatilde coacute username vagrave pass của người dugraveng chuacuteng ta tiến hagravenh đăng nhập
XmppClientConnection xmpp
xmpp = new XmppClientConnection(ldquochatfacebookcomrdquo)
xmppOpen(username password)
if (xmppAuthenticated == true)
Presence p = new Presence(ShowTypechat Online)pType = PresenceTypeavailable
xmppSend(p)
ThreadSleep(6000)
httpswwwfacebookcom[username]
Khai baacuteo
XAcircY DỰNG CHỨC NĂNG CHAT
Tecircn server chat
của facebookDừng lại để chờ
server xaacutec thực
Username
chỗ nagravey
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Add bạn begrave vagraveo danh saacutech chat
xmppMessageGrabberAdd(new Jid(- + friendId + chatfacebookcom)
new BareJidComparer()
new MessageCB(MessageCallBack)
null)
ID của bạn begrave
Hagravem nhận sự kiện
khi coacute tin nhắn tới
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Hagravem nhận sự kiện tin nhắn đến
void MessageCallBack(object sender Message msg object data)
if (msgBody = null)displayMessage()
Đacircy lagrave hagravem chịu traacutech
nhiệm xử liacute vagrave hiển thị tin
nhắn
Xacircy dựng tiacutenh năng chat qua
facebook server
Gửi tin nhắn đi
xmppSend(new Message(new Jid(ldquo-rdquo + friendID + chatfacebookcom)
MessageTypechat
messageBody))
Nội dung tin
nhắn gửi đi
ID của bạn begrave sẽ
nhận tin nhắn
XAcircY DỰNG CHỨC NĂNG CHAT
Xacircy dựng tiacutenh năng chat qua
facebook server Như vậy chuacuteng ta đatilde coacute thể hoagraven thagravenh được tiacutenh năng
chat facebook sử dụng thư viecircn agsxmppdll
Cảm ơn thầy vagrave caacutec
bạn đatilde quan tacircm
theo dotildei
VD Post 1 higravenh lecircn tường
bull Để post higravenh lecircn trang chủ ta sử dụng hagravem Post
_fbPost(string Path object parameter)
VD
Tương taacutec với facebook qua
facebookdll
Giới thiệu về facebook deverlopers
Giới thiệu về bộ thư viện facebookdll
Tương taacutec với facebook qua facebookdll
Xacircy dựng tiacutenh năng chat qua facebook server
Xacircy dựng tiacutenh năng chat qua
facebook server
Chuacuteng ta sử dụng bộ thư viện agsxmppdll do cocircng ty AG-Software cung cấp
Đacircy lagrave một bộ thư viện được cung cấp miễn phiacute vagrave dựa trecircn phương thức
xmpp
VẤN ĐỀ
Bộ thư viecircn facebookdll khocircng hỗ trợ việc xacircy dựng tiacutenh năng chat
Phiacutea Facebook khocircng hỗ trợ caacutec hagravem API để xacircy dựng tiacutenh năng
chat magrave chỉ hỗ trợ xacircy dựng tiacutenh năng chat thocircng qua giao thức
xmpp (Extensible Messaging and Presence Protocol)
GIẢI PHAacuteP
Link download bộ thư viện agsxmppdll
httpwwwag-softwarenetagsxmpp-sdk
Xacircy dựng tiacutenh năng chat qua
facebook server
Extensible Messaging and Presence Protocol (XMPP) trước đacircy lagrave Jabber lagrave
giao thức mở vagrave dựa trecircn nền tảng XML dugraveng trong nhắn tin nhanh (instant
messaging) vagrave thocircng tin hiện diện trực tuyến (presence information) Theo Hội
Tiecircu chuẩn XMPP (XMPP Standards Foundation trước đacircy lagrave Jabber Software
Foundation JSF) phần mềm dựa trecircn Jabber được triển khai tại hagraveng ngagraven maacutey
phục vụ trecircn Internet vagrave được hơn 10 triệu người trecircn khắp thế giới sử dụng
Jeremie Miller khởi đầu dự aacuten vagraveo năm 1998 phiecircn bản đầu tiecircn được cocircng bố
vagraveo thaacuteng năm 2000 Sản phẩm chiacutenh của dự aacuten lagrave jabberd một trigravenh phục vụ
(server) để từ đoacute caacutec trigravenh khaacutech (client) kết nối đến vagrave trao đổi tin nhắn Trigravenh
phục vụ nagravey coacute thể tạo mạng Jabber riecircng tư (như sau tường lửa) hoặc coacute thể tham
gia vagraveo mạng Jabber cocircng cộng toagraven cầu Đặc tiacutenh cốt lotildei của Jabber lagrave bản chất
của hệ thống tin nhắn nhanh phacircn taacuten vagrave việc sử dụng streaming XML
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
Điểm đặc trưng của hệ thống Jabber lagrave noacute coacute caacutec transport cograven được gọi lagrave
gateway (cổng) cho pheacutep người dugraveng truy cập mạng với caacutec giao thức khaacutec - như
AIM vagrave ICQ (dugraveng OSCAR) MSN Messenger vagrave Windows Messenger (dugraveng Dịch
vụ nhắn tin NET - NET Messenger Service) Yahoo Messenger SMS hay E-mail
Khocircng như caacutec trigravenh khaacutech đa giao thức như Trillian hay Gaim việc truy cập đến
caacutec giao thức khaacutec được Jabber cung cấp ở cấp độ trigravenh phục vụ bằng caacutech truyền
thocircng tin qua caacutec dịch vụ cổng đặc biệt chạy trecircn một maacutey tiacutenh ở xa Bất cứ người
dugraveng nagraveo cũng coacute thể đăng kiacute với một trong caacutec cổng nagravey bằng caacutech cung cấp
thocircng tin cần thiết để đăng nhập vagraveo mạng đoacute vagrave từ đoacute coacute thể liecircn lạc với người
dugraveng của mạng khaacutec như thể họ lagrave người dugraveng Jabber Điều nagravey coacute nghĩa lagrave bất cứ
trigravenh khaacutech nagraveo hỗ trợ đầy đủ giao thức Jabber đều coacute thể được dugraveng để truy cập bất
cứ mạng nagraveo coacute cổng kết nối magrave khocircng cần thecircm dograveng matilde lệnh nagraveo từ trigravenh khaacutech
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
Nền tảng của giao thức Jabber hiện được Tổ chức Phần mềm Jabber quản liacute
đatilde được IETF chấp nhận lagravem giao thức standards-track dưới tecircn XMPP với
RFC 3920 Noacute thường được xem lagrave đối thủ cạnh tranh với SIMPLE dựa trecircn
giao thức SIP để lagravem giao thức chuẩn cho nhắn tin nhanh vagrave thocircng baacuteo hiện
diện tuy nhiecircn thiết kế của XMPP được nhắm đến việc cung cấp caacutec tiện iacutech
trigravenh trung gian (middleware) liecircn ứng dụng vagrave mục điacutech tổng quaacutet
Người dugraveng Jabber được xaacutec định bằng tecircn người dugraveng vagrave tecircn maacutey phục vụ
caacutech nhau bằng dấu Căn cước nagravey được gọi lagrave Jabber ID hay JID
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
JID coacute dạng thức tecircn_người_dugravengtecircn_miềntagravei_nguyecircn tương tự như một địa
chỉ email
Người dugraveng Jabber coacute thể truy cập vagraveo tagravei khoản của migravenh cugraveng luacutec tại nhiều điểm
truy cập khaacutec nhau được xaacutec định qua phần tagravei_nguyecircn viacute dụ
tecircn_người_dugravengtecircn_miềncomcơ_quan vagrave tecircn_người_dugravengtecircn_miềncomnhagrave
Khocircng cần thiết chỉ định phần tagravei nguyecircn khi liecircn lạc với người dugraveng khaacutec
Tương tự như Sendmail người dugraveng Jabber coacute thể truy cập vagraveo caacutec giao thức
khaacutec qua cổng giao tiếp Jabber (Jabber Transport) viacute dụ JID của một địa chỉ lagrave
tecircn_người_dugravengmsncommsnjabberservercom
Tecircn người dugraveng trong JID dagravei tối đa 1023 kyacute tự vagrave khocircng được chứa
lt gt amp khoảng trắng vagrave kyacute tự điều khiển
JID
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Add thư viện agsXMPP vagraveo project Khai baacuteo để sử dụng
Xacircy dựng tiacutenh năng chat qua
facebook server
Để coacute thể đăng nhập vagraveo dịch vụ chat ta cần phải coacute username của người dugraveng vagrave
password Username của người dugraveng coacute thể tigravem thấy dưới dạng
Sau khi đatilde coacute username vagrave pass của người dugraveng chuacuteng ta tiến hagravenh đăng nhập
XmppClientConnection xmpp
xmpp = new XmppClientConnection(ldquochatfacebookcomrdquo)
xmppOpen(username password)
if (xmppAuthenticated == true)
Presence p = new Presence(ShowTypechat Online)pType = PresenceTypeavailable
xmppSend(p)
ThreadSleep(6000)
httpswwwfacebookcom[username]
Khai baacuteo
XAcircY DỰNG CHỨC NĂNG CHAT
Tecircn server chat
của facebookDừng lại để chờ
server xaacutec thực
Username
chỗ nagravey
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Add bạn begrave vagraveo danh saacutech chat
xmppMessageGrabberAdd(new Jid(- + friendId + chatfacebookcom)
new BareJidComparer()
new MessageCB(MessageCallBack)
null)
ID của bạn begrave
Hagravem nhận sự kiện
khi coacute tin nhắn tới
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Hagravem nhận sự kiện tin nhắn đến
void MessageCallBack(object sender Message msg object data)
if (msgBody = null)displayMessage()
Đacircy lagrave hagravem chịu traacutech
nhiệm xử liacute vagrave hiển thị tin
nhắn
Xacircy dựng tiacutenh năng chat qua
facebook server
Gửi tin nhắn đi
xmppSend(new Message(new Jid(ldquo-rdquo + friendID + chatfacebookcom)
MessageTypechat
messageBody))
Nội dung tin
nhắn gửi đi
ID của bạn begrave sẽ
nhận tin nhắn
XAcircY DỰNG CHỨC NĂNG CHAT
Xacircy dựng tiacutenh năng chat qua
facebook server Như vậy chuacuteng ta đatilde coacute thể hoagraven thagravenh được tiacutenh năng
chat facebook sử dụng thư viecircn agsxmppdll
Cảm ơn thầy vagrave caacutec
bạn đatilde quan tacircm
theo dotildei
Giới thiệu về facebook deverlopers
Giới thiệu về bộ thư viện facebookdll
Tương taacutec với facebook qua facebookdll
Xacircy dựng tiacutenh năng chat qua facebook server
Xacircy dựng tiacutenh năng chat qua
facebook server
Chuacuteng ta sử dụng bộ thư viện agsxmppdll do cocircng ty AG-Software cung cấp
Đacircy lagrave một bộ thư viện được cung cấp miễn phiacute vagrave dựa trecircn phương thức
xmpp
VẤN ĐỀ
Bộ thư viecircn facebookdll khocircng hỗ trợ việc xacircy dựng tiacutenh năng chat
Phiacutea Facebook khocircng hỗ trợ caacutec hagravem API để xacircy dựng tiacutenh năng
chat magrave chỉ hỗ trợ xacircy dựng tiacutenh năng chat thocircng qua giao thức
xmpp (Extensible Messaging and Presence Protocol)
GIẢI PHAacuteP
Link download bộ thư viện agsxmppdll
httpwwwag-softwarenetagsxmpp-sdk
Xacircy dựng tiacutenh năng chat qua
facebook server
Extensible Messaging and Presence Protocol (XMPP) trước đacircy lagrave Jabber lagrave
giao thức mở vagrave dựa trecircn nền tảng XML dugraveng trong nhắn tin nhanh (instant
messaging) vagrave thocircng tin hiện diện trực tuyến (presence information) Theo Hội
Tiecircu chuẩn XMPP (XMPP Standards Foundation trước đacircy lagrave Jabber Software
Foundation JSF) phần mềm dựa trecircn Jabber được triển khai tại hagraveng ngagraven maacutey
phục vụ trecircn Internet vagrave được hơn 10 triệu người trecircn khắp thế giới sử dụng
Jeremie Miller khởi đầu dự aacuten vagraveo năm 1998 phiecircn bản đầu tiecircn được cocircng bố
vagraveo thaacuteng năm 2000 Sản phẩm chiacutenh của dự aacuten lagrave jabberd một trigravenh phục vụ
(server) để từ đoacute caacutec trigravenh khaacutech (client) kết nối đến vagrave trao đổi tin nhắn Trigravenh
phục vụ nagravey coacute thể tạo mạng Jabber riecircng tư (như sau tường lửa) hoặc coacute thể tham
gia vagraveo mạng Jabber cocircng cộng toagraven cầu Đặc tiacutenh cốt lotildei của Jabber lagrave bản chất
của hệ thống tin nhắn nhanh phacircn taacuten vagrave việc sử dụng streaming XML
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
Điểm đặc trưng của hệ thống Jabber lagrave noacute coacute caacutec transport cograven được gọi lagrave
gateway (cổng) cho pheacutep người dugraveng truy cập mạng với caacutec giao thức khaacutec - như
AIM vagrave ICQ (dugraveng OSCAR) MSN Messenger vagrave Windows Messenger (dugraveng Dịch
vụ nhắn tin NET - NET Messenger Service) Yahoo Messenger SMS hay E-mail
Khocircng như caacutec trigravenh khaacutech đa giao thức như Trillian hay Gaim việc truy cập đến
caacutec giao thức khaacutec được Jabber cung cấp ở cấp độ trigravenh phục vụ bằng caacutech truyền
thocircng tin qua caacutec dịch vụ cổng đặc biệt chạy trecircn một maacutey tiacutenh ở xa Bất cứ người
dugraveng nagraveo cũng coacute thể đăng kiacute với một trong caacutec cổng nagravey bằng caacutech cung cấp
thocircng tin cần thiết để đăng nhập vagraveo mạng đoacute vagrave từ đoacute coacute thể liecircn lạc với người
dugraveng của mạng khaacutec như thể họ lagrave người dugraveng Jabber Điều nagravey coacute nghĩa lagrave bất cứ
trigravenh khaacutech nagraveo hỗ trợ đầy đủ giao thức Jabber đều coacute thể được dugraveng để truy cập bất
cứ mạng nagraveo coacute cổng kết nối magrave khocircng cần thecircm dograveng matilde lệnh nagraveo từ trigravenh khaacutech
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
Nền tảng của giao thức Jabber hiện được Tổ chức Phần mềm Jabber quản liacute
đatilde được IETF chấp nhận lagravem giao thức standards-track dưới tecircn XMPP với
RFC 3920 Noacute thường được xem lagrave đối thủ cạnh tranh với SIMPLE dựa trecircn
giao thức SIP để lagravem giao thức chuẩn cho nhắn tin nhanh vagrave thocircng baacuteo hiện
diện tuy nhiecircn thiết kế của XMPP được nhắm đến việc cung cấp caacutec tiện iacutech
trigravenh trung gian (middleware) liecircn ứng dụng vagrave mục điacutech tổng quaacutet
Người dugraveng Jabber được xaacutec định bằng tecircn người dugraveng vagrave tecircn maacutey phục vụ
caacutech nhau bằng dấu Căn cước nagravey được gọi lagrave Jabber ID hay JID
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
JID coacute dạng thức tecircn_người_dugravengtecircn_miềntagravei_nguyecircn tương tự như một địa
chỉ email
Người dugraveng Jabber coacute thể truy cập vagraveo tagravei khoản của migravenh cugraveng luacutec tại nhiều điểm
truy cập khaacutec nhau được xaacutec định qua phần tagravei_nguyecircn viacute dụ
tecircn_người_dugravengtecircn_miềncomcơ_quan vagrave tecircn_người_dugravengtecircn_miềncomnhagrave
Khocircng cần thiết chỉ định phần tagravei nguyecircn khi liecircn lạc với người dugraveng khaacutec
Tương tự như Sendmail người dugraveng Jabber coacute thể truy cập vagraveo caacutec giao thức
khaacutec qua cổng giao tiếp Jabber (Jabber Transport) viacute dụ JID của một địa chỉ lagrave
tecircn_người_dugravengmsncommsnjabberservercom
Tecircn người dugraveng trong JID dagravei tối đa 1023 kyacute tự vagrave khocircng được chứa
lt gt amp khoảng trắng vagrave kyacute tự điều khiển
JID
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Add thư viện agsXMPP vagraveo project Khai baacuteo để sử dụng
Xacircy dựng tiacutenh năng chat qua
facebook server
Để coacute thể đăng nhập vagraveo dịch vụ chat ta cần phải coacute username của người dugraveng vagrave
password Username của người dugraveng coacute thể tigravem thấy dưới dạng
Sau khi đatilde coacute username vagrave pass của người dugraveng chuacuteng ta tiến hagravenh đăng nhập
XmppClientConnection xmpp
xmpp = new XmppClientConnection(ldquochatfacebookcomrdquo)
xmppOpen(username password)
if (xmppAuthenticated == true)
Presence p = new Presence(ShowTypechat Online)pType = PresenceTypeavailable
xmppSend(p)
ThreadSleep(6000)
httpswwwfacebookcom[username]
Khai baacuteo
XAcircY DỰNG CHỨC NĂNG CHAT
Tecircn server chat
của facebookDừng lại để chờ
server xaacutec thực
Username
chỗ nagravey
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Add bạn begrave vagraveo danh saacutech chat
xmppMessageGrabberAdd(new Jid(- + friendId + chatfacebookcom)
new BareJidComparer()
new MessageCB(MessageCallBack)
null)
ID của bạn begrave
Hagravem nhận sự kiện
khi coacute tin nhắn tới
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Hagravem nhận sự kiện tin nhắn đến
void MessageCallBack(object sender Message msg object data)
if (msgBody = null)displayMessage()
Đacircy lagrave hagravem chịu traacutech
nhiệm xử liacute vagrave hiển thị tin
nhắn
Xacircy dựng tiacutenh năng chat qua
facebook server
Gửi tin nhắn đi
xmppSend(new Message(new Jid(ldquo-rdquo + friendID + chatfacebookcom)
MessageTypechat
messageBody))
Nội dung tin
nhắn gửi đi
ID của bạn begrave sẽ
nhận tin nhắn
XAcircY DỰNG CHỨC NĂNG CHAT
Xacircy dựng tiacutenh năng chat qua
facebook server Như vậy chuacuteng ta đatilde coacute thể hoagraven thagravenh được tiacutenh năng
chat facebook sử dụng thư viecircn agsxmppdll
Cảm ơn thầy vagrave caacutec
bạn đatilde quan tacircm
theo dotildei
Xacircy dựng tiacutenh năng chat qua
facebook server
Chuacuteng ta sử dụng bộ thư viện agsxmppdll do cocircng ty AG-Software cung cấp
Đacircy lagrave một bộ thư viện được cung cấp miễn phiacute vagrave dựa trecircn phương thức
xmpp
VẤN ĐỀ
Bộ thư viecircn facebookdll khocircng hỗ trợ việc xacircy dựng tiacutenh năng chat
Phiacutea Facebook khocircng hỗ trợ caacutec hagravem API để xacircy dựng tiacutenh năng
chat magrave chỉ hỗ trợ xacircy dựng tiacutenh năng chat thocircng qua giao thức
xmpp (Extensible Messaging and Presence Protocol)
GIẢI PHAacuteP
Link download bộ thư viện agsxmppdll
httpwwwag-softwarenetagsxmpp-sdk
Xacircy dựng tiacutenh năng chat qua
facebook server
Extensible Messaging and Presence Protocol (XMPP) trước đacircy lagrave Jabber lagrave
giao thức mở vagrave dựa trecircn nền tảng XML dugraveng trong nhắn tin nhanh (instant
messaging) vagrave thocircng tin hiện diện trực tuyến (presence information) Theo Hội
Tiecircu chuẩn XMPP (XMPP Standards Foundation trước đacircy lagrave Jabber Software
Foundation JSF) phần mềm dựa trecircn Jabber được triển khai tại hagraveng ngagraven maacutey
phục vụ trecircn Internet vagrave được hơn 10 triệu người trecircn khắp thế giới sử dụng
Jeremie Miller khởi đầu dự aacuten vagraveo năm 1998 phiecircn bản đầu tiecircn được cocircng bố
vagraveo thaacuteng năm 2000 Sản phẩm chiacutenh của dự aacuten lagrave jabberd một trigravenh phục vụ
(server) để từ đoacute caacutec trigravenh khaacutech (client) kết nối đến vagrave trao đổi tin nhắn Trigravenh
phục vụ nagravey coacute thể tạo mạng Jabber riecircng tư (như sau tường lửa) hoặc coacute thể tham
gia vagraveo mạng Jabber cocircng cộng toagraven cầu Đặc tiacutenh cốt lotildei của Jabber lagrave bản chất
của hệ thống tin nhắn nhanh phacircn taacuten vagrave việc sử dụng streaming XML
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
Điểm đặc trưng của hệ thống Jabber lagrave noacute coacute caacutec transport cograven được gọi lagrave
gateway (cổng) cho pheacutep người dugraveng truy cập mạng với caacutec giao thức khaacutec - như
AIM vagrave ICQ (dugraveng OSCAR) MSN Messenger vagrave Windows Messenger (dugraveng Dịch
vụ nhắn tin NET - NET Messenger Service) Yahoo Messenger SMS hay E-mail
Khocircng như caacutec trigravenh khaacutech đa giao thức như Trillian hay Gaim việc truy cập đến
caacutec giao thức khaacutec được Jabber cung cấp ở cấp độ trigravenh phục vụ bằng caacutech truyền
thocircng tin qua caacutec dịch vụ cổng đặc biệt chạy trecircn một maacutey tiacutenh ở xa Bất cứ người
dugraveng nagraveo cũng coacute thể đăng kiacute với một trong caacutec cổng nagravey bằng caacutech cung cấp
thocircng tin cần thiết để đăng nhập vagraveo mạng đoacute vagrave từ đoacute coacute thể liecircn lạc với người
dugraveng của mạng khaacutec như thể họ lagrave người dugraveng Jabber Điều nagravey coacute nghĩa lagrave bất cứ
trigravenh khaacutech nagraveo hỗ trợ đầy đủ giao thức Jabber đều coacute thể được dugraveng để truy cập bất
cứ mạng nagraveo coacute cổng kết nối magrave khocircng cần thecircm dograveng matilde lệnh nagraveo từ trigravenh khaacutech
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
Nền tảng của giao thức Jabber hiện được Tổ chức Phần mềm Jabber quản liacute
đatilde được IETF chấp nhận lagravem giao thức standards-track dưới tecircn XMPP với
RFC 3920 Noacute thường được xem lagrave đối thủ cạnh tranh với SIMPLE dựa trecircn
giao thức SIP để lagravem giao thức chuẩn cho nhắn tin nhanh vagrave thocircng baacuteo hiện
diện tuy nhiecircn thiết kế của XMPP được nhắm đến việc cung cấp caacutec tiện iacutech
trigravenh trung gian (middleware) liecircn ứng dụng vagrave mục điacutech tổng quaacutet
Người dugraveng Jabber được xaacutec định bằng tecircn người dugraveng vagrave tecircn maacutey phục vụ
caacutech nhau bằng dấu Căn cước nagravey được gọi lagrave Jabber ID hay JID
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
JID coacute dạng thức tecircn_người_dugravengtecircn_miềntagravei_nguyecircn tương tự như một địa
chỉ email
Người dugraveng Jabber coacute thể truy cập vagraveo tagravei khoản của migravenh cugraveng luacutec tại nhiều điểm
truy cập khaacutec nhau được xaacutec định qua phần tagravei_nguyecircn viacute dụ
tecircn_người_dugravengtecircn_miềncomcơ_quan vagrave tecircn_người_dugravengtecircn_miềncomnhagrave
Khocircng cần thiết chỉ định phần tagravei nguyecircn khi liecircn lạc với người dugraveng khaacutec
Tương tự như Sendmail người dugraveng Jabber coacute thể truy cập vagraveo caacutec giao thức
khaacutec qua cổng giao tiếp Jabber (Jabber Transport) viacute dụ JID của một địa chỉ lagrave
tecircn_người_dugravengmsncommsnjabberservercom
Tecircn người dugraveng trong JID dagravei tối đa 1023 kyacute tự vagrave khocircng được chứa
lt gt amp khoảng trắng vagrave kyacute tự điều khiển
JID
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Add thư viện agsXMPP vagraveo project Khai baacuteo để sử dụng
Xacircy dựng tiacutenh năng chat qua
facebook server
Để coacute thể đăng nhập vagraveo dịch vụ chat ta cần phải coacute username của người dugraveng vagrave
password Username của người dugraveng coacute thể tigravem thấy dưới dạng
Sau khi đatilde coacute username vagrave pass của người dugraveng chuacuteng ta tiến hagravenh đăng nhập
XmppClientConnection xmpp
xmpp = new XmppClientConnection(ldquochatfacebookcomrdquo)
xmppOpen(username password)
if (xmppAuthenticated == true)
Presence p = new Presence(ShowTypechat Online)pType = PresenceTypeavailable
xmppSend(p)
ThreadSleep(6000)
httpswwwfacebookcom[username]
Khai baacuteo
XAcircY DỰNG CHỨC NĂNG CHAT
Tecircn server chat
của facebookDừng lại để chờ
server xaacutec thực
Username
chỗ nagravey
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Add bạn begrave vagraveo danh saacutech chat
xmppMessageGrabberAdd(new Jid(- + friendId + chatfacebookcom)
new BareJidComparer()
new MessageCB(MessageCallBack)
null)
ID của bạn begrave
Hagravem nhận sự kiện
khi coacute tin nhắn tới
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Hagravem nhận sự kiện tin nhắn đến
void MessageCallBack(object sender Message msg object data)
if (msgBody = null)displayMessage()
Đacircy lagrave hagravem chịu traacutech
nhiệm xử liacute vagrave hiển thị tin
nhắn
Xacircy dựng tiacutenh năng chat qua
facebook server
Gửi tin nhắn đi
xmppSend(new Message(new Jid(ldquo-rdquo + friendID + chatfacebookcom)
MessageTypechat
messageBody))
Nội dung tin
nhắn gửi đi
ID của bạn begrave sẽ
nhận tin nhắn
XAcircY DỰNG CHỨC NĂNG CHAT
Xacircy dựng tiacutenh năng chat qua
facebook server Như vậy chuacuteng ta đatilde coacute thể hoagraven thagravenh được tiacutenh năng
chat facebook sử dụng thư viecircn agsxmppdll
Cảm ơn thầy vagrave caacutec
bạn đatilde quan tacircm
theo dotildei
Xacircy dựng tiacutenh năng chat qua
facebook server
Extensible Messaging and Presence Protocol (XMPP) trước đacircy lagrave Jabber lagrave
giao thức mở vagrave dựa trecircn nền tảng XML dugraveng trong nhắn tin nhanh (instant
messaging) vagrave thocircng tin hiện diện trực tuyến (presence information) Theo Hội
Tiecircu chuẩn XMPP (XMPP Standards Foundation trước đacircy lagrave Jabber Software
Foundation JSF) phần mềm dựa trecircn Jabber được triển khai tại hagraveng ngagraven maacutey
phục vụ trecircn Internet vagrave được hơn 10 triệu người trecircn khắp thế giới sử dụng
Jeremie Miller khởi đầu dự aacuten vagraveo năm 1998 phiecircn bản đầu tiecircn được cocircng bố
vagraveo thaacuteng năm 2000 Sản phẩm chiacutenh của dự aacuten lagrave jabberd một trigravenh phục vụ
(server) để từ đoacute caacutec trigravenh khaacutech (client) kết nối đến vagrave trao đổi tin nhắn Trigravenh
phục vụ nagravey coacute thể tạo mạng Jabber riecircng tư (như sau tường lửa) hoặc coacute thể tham
gia vagraveo mạng Jabber cocircng cộng toagraven cầu Đặc tiacutenh cốt lotildei của Jabber lagrave bản chất
của hệ thống tin nhắn nhanh phacircn taacuten vagrave việc sử dụng streaming XML
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
Điểm đặc trưng của hệ thống Jabber lagrave noacute coacute caacutec transport cograven được gọi lagrave
gateway (cổng) cho pheacutep người dugraveng truy cập mạng với caacutec giao thức khaacutec - như
AIM vagrave ICQ (dugraveng OSCAR) MSN Messenger vagrave Windows Messenger (dugraveng Dịch
vụ nhắn tin NET - NET Messenger Service) Yahoo Messenger SMS hay E-mail
Khocircng như caacutec trigravenh khaacutech đa giao thức như Trillian hay Gaim việc truy cập đến
caacutec giao thức khaacutec được Jabber cung cấp ở cấp độ trigravenh phục vụ bằng caacutech truyền
thocircng tin qua caacutec dịch vụ cổng đặc biệt chạy trecircn một maacutey tiacutenh ở xa Bất cứ người
dugraveng nagraveo cũng coacute thể đăng kiacute với một trong caacutec cổng nagravey bằng caacutech cung cấp
thocircng tin cần thiết để đăng nhập vagraveo mạng đoacute vagrave từ đoacute coacute thể liecircn lạc với người
dugraveng của mạng khaacutec như thể họ lagrave người dugraveng Jabber Điều nagravey coacute nghĩa lagrave bất cứ
trigravenh khaacutech nagraveo hỗ trợ đầy đủ giao thức Jabber đều coacute thể được dugraveng để truy cập bất
cứ mạng nagraveo coacute cổng kết nối magrave khocircng cần thecircm dograveng matilde lệnh nagraveo từ trigravenh khaacutech
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
Nền tảng của giao thức Jabber hiện được Tổ chức Phần mềm Jabber quản liacute
đatilde được IETF chấp nhận lagravem giao thức standards-track dưới tecircn XMPP với
RFC 3920 Noacute thường được xem lagrave đối thủ cạnh tranh với SIMPLE dựa trecircn
giao thức SIP để lagravem giao thức chuẩn cho nhắn tin nhanh vagrave thocircng baacuteo hiện
diện tuy nhiecircn thiết kế của XMPP được nhắm đến việc cung cấp caacutec tiện iacutech
trigravenh trung gian (middleware) liecircn ứng dụng vagrave mục điacutech tổng quaacutet
Người dugraveng Jabber được xaacutec định bằng tecircn người dugraveng vagrave tecircn maacutey phục vụ
caacutech nhau bằng dấu Căn cước nagravey được gọi lagrave Jabber ID hay JID
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
JID coacute dạng thức tecircn_người_dugravengtecircn_miềntagravei_nguyecircn tương tự như một địa
chỉ email
Người dugraveng Jabber coacute thể truy cập vagraveo tagravei khoản của migravenh cugraveng luacutec tại nhiều điểm
truy cập khaacutec nhau được xaacutec định qua phần tagravei_nguyecircn viacute dụ
tecircn_người_dugravengtecircn_miềncomcơ_quan vagrave tecircn_người_dugravengtecircn_miềncomnhagrave
Khocircng cần thiết chỉ định phần tagravei nguyecircn khi liecircn lạc với người dugraveng khaacutec
Tương tự như Sendmail người dugraveng Jabber coacute thể truy cập vagraveo caacutec giao thức
khaacutec qua cổng giao tiếp Jabber (Jabber Transport) viacute dụ JID của một địa chỉ lagrave
tecircn_người_dugravengmsncommsnjabberservercom
Tecircn người dugraveng trong JID dagravei tối đa 1023 kyacute tự vagrave khocircng được chứa
lt gt amp khoảng trắng vagrave kyacute tự điều khiển
JID
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Add thư viện agsXMPP vagraveo project Khai baacuteo để sử dụng
Xacircy dựng tiacutenh năng chat qua
facebook server
Để coacute thể đăng nhập vagraveo dịch vụ chat ta cần phải coacute username của người dugraveng vagrave
password Username của người dugraveng coacute thể tigravem thấy dưới dạng
Sau khi đatilde coacute username vagrave pass của người dugraveng chuacuteng ta tiến hagravenh đăng nhập
XmppClientConnection xmpp
xmpp = new XmppClientConnection(ldquochatfacebookcomrdquo)
xmppOpen(username password)
if (xmppAuthenticated == true)
Presence p = new Presence(ShowTypechat Online)pType = PresenceTypeavailable
xmppSend(p)
ThreadSleep(6000)
httpswwwfacebookcom[username]
Khai baacuteo
XAcircY DỰNG CHỨC NĂNG CHAT
Tecircn server chat
của facebookDừng lại để chờ
server xaacutec thực
Username
chỗ nagravey
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Add bạn begrave vagraveo danh saacutech chat
xmppMessageGrabberAdd(new Jid(- + friendId + chatfacebookcom)
new BareJidComparer()
new MessageCB(MessageCallBack)
null)
ID của bạn begrave
Hagravem nhận sự kiện
khi coacute tin nhắn tới
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Hagravem nhận sự kiện tin nhắn đến
void MessageCallBack(object sender Message msg object data)
if (msgBody = null)displayMessage()
Đacircy lagrave hagravem chịu traacutech
nhiệm xử liacute vagrave hiển thị tin
nhắn
Xacircy dựng tiacutenh năng chat qua
facebook server
Gửi tin nhắn đi
xmppSend(new Message(new Jid(ldquo-rdquo + friendID + chatfacebookcom)
MessageTypechat
messageBody))
Nội dung tin
nhắn gửi đi
ID của bạn begrave sẽ
nhận tin nhắn
XAcircY DỰNG CHỨC NĂNG CHAT
Xacircy dựng tiacutenh năng chat qua
facebook server Như vậy chuacuteng ta đatilde coacute thể hoagraven thagravenh được tiacutenh năng
chat facebook sử dụng thư viecircn agsxmppdll
Cảm ơn thầy vagrave caacutec
bạn đatilde quan tacircm
theo dotildei
Xacircy dựng tiacutenh năng chat qua
facebook server
Điểm đặc trưng của hệ thống Jabber lagrave noacute coacute caacutec transport cograven được gọi lagrave
gateway (cổng) cho pheacutep người dugraveng truy cập mạng với caacutec giao thức khaacutec - như
AIM vagrave ICQ (dugraveng OSCAR) MSN Messenger vagrave Windows Messenger (dugraveng Dịch
vụ nhắn tin NET - NET Messenger Service) Yahoo Messenger SMS hay E-mail
Khocircng như caacutec trigravenh khaacutech đa giao thức như Trillian hay Gaim việc truy cập đến
caacutec giao thức khaacutec được Jabber cung cấp ở cấp độ trigravenh phục vụ bằng caacutech truyền
thocircng tin qua caacutec dịch vụ cổng đặc biệt chạy trecircn một maacutey tiacutenh ở xa Bất cứ người
dugraveng nagraveo cũng coacute thể đăng kiacute với một trong caacutec cổng nagravey bằng caacutech cung cấp
thocircng tin cần thiết để đăng nhập vagraveo mạng đoacute vagrave từ đoacute coacute thể liecircn lạc với người
dugraveng của mạng khaacutec như thể họ lagrave người dugraveng Jabber Điều nagravey coacute nghĩa lagrave bất cứ
trigravenh khaacutech nagraveo hỗ trợ đầy đủ giao thức Jabber đều coacute thể được dugraveng để truy cập bất
cứ mạng nagraveo coacute cổng kết nối magrave khocircng cần thecircm dograveng matilde lệnh nagraveo từ trigravenh khaacutech
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
Nền tảng của giao thức Jabber hiện được Tổ chức Phần mềm Jabber quản liacute
đatilde được IETF chấp nhận lagravem giao thức standards-track dưới tecircn XMPP với
RFC 3920 Noacute thường được xem lagrave đối thủ cạnh tranh với SIMPLE dựa trecircn
giao thức SIP để lagravem giao thức chuẩn cho nhắn tin nhanh vagrave thocircng baacuteo hiện
diện tuy nhiecircn thiết kế của XMPP được nhắm đến việc cung cấp caacutec tiện iacutech
trigravenh trung gian (middleware) liecircn ứng dụng vagrave mục điacutech tổng quaacutet
Người dugraveng Jabber được xaacutec định bằng tecircn người dugraveng vagrave tecircn maacutey phục vụ
caacutech nhau bằng dấu Căn cước nagravey được gọi lagrave Jabber ID hay JID
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
JID coacute dạng thức tecircn_người_dugravengtecircn_miềntagravei_nguyecircn tương tự như một địa
chỉ email
Người dugraveng Jabber coacute thể truy cập vagraveo tagravei khoản của migravenh cugraveng luacutec tại nhiều điểm
truy cập khaacutec nhau được xaacutec định qua phần tagravei_nguyecircn viacute dụ
tecircn_người_dugravengtecircn_miềncomcơ_quan vagrave tecircn_người_dugravengtecircn_miềncomnhagrave
Khocircng cần thiết chỉ định phần tagravei nguyecircn khi liecircn lạc với người dugraveng khaacutec
Tương tự như Sendmail người dugraveng Jabber coacute thể truy cập vagraveo caacutec giao thức
khaacutec qua cổng giao tiếp Jabber (Jabber Transport) viacute dụ JID của một địa chỉ lagrave
tecircn_người_dugravengmsncommsnjabberservercom
Tecircn người dugraveng trong JID dagravei tối đa 1023 kyacute tự vagrave khocircng được chứa
lt gt amp khoảng trắng vagrave kyacute tự điều khiển
JID
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Add thư viện agsXMPP vagraveo project Khai baacuteo để sử dụng
Xacircy dựng tiacutenh năng chat qua
facebook server
Để coacute thể đăng nhập vagraveo dịch vụ chat ta cần phải coacute username của người dugraveng vagrave
password Username của người dugraveng coacute thể tigravem thấy dưới dạng
Sau khi đatilde coacute username vagrave pass của người dugraveng chuacuteng ta tiến hagravenh đăng nhập
XmppClientConnection xmpp
xmpp = new XmppClientConnection(ldquochatfacebookcomrdquo)
xmppOpen(username password)
if (xmppAuthenticated == true)
Presence p = new Presence(ShowTypechat Online)pType = PresenceTypeavailable
xmppSend(p)
ThreadSleep(6000)
httpswwwfacebookcom[username]
Khai baacuteo
XAcircY DỰNG CHỨC NĂNG CHAT
Tecircn server chat
của facebookDừng lại để chờ
server xaacutec thực
Username
chỗ nagravey
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Add bạn begrave vagraveo danh saacutech chat
xmppMessageGrabberAdd(new Jid(- + friendId + chatfacebookcom)
new BareJidComparer()
new MessageCB(MessageCallBack)
null)
ID của bạn begrave
Hagravem nhận sự kiện
khi coacute tin nhắn tới
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Hagravem nhận sự kiện tin nhắn đến
void MessageCallBack(object sender Message msg object data)
if (msgBody = null)displayMessage()
Đacircy lagrave hagravem chịu traacutech
nhiệm xử liacute vagrave hiển thị tin
nhắn
Xacircy dựng tiacutenh năng chat qua
facebook server
Gửi tin nhắn đi
xmppSend(new Message(new Jid(ldquo-rdquo + friendID + chatfacebookcom)
MessageTypechat
messageBody))
Nội dung tin
nhắn gửi đi
ID của bạn begrave sẽ
nhận tin nhắn
XAcircY DỰNG CHỨC NĂNG CHAT
Xacircy dựng tiacutenh năng chat qua
facebook server Như vậy chuacuteng ta đatilde coacute thể hoagraven thagravenh được tiacutenh năng
chat facebook sử dụng thư viecircn agsxmppdll
Cảm ơn thầy vagrave caacutec
bạn đatilde quan tacircm
theo dotildei
Xacircy dựng tiacutenh năng chat qua
facebook server
Nền tảng của giao thức Jabber hiện được Tổ chức Phần mềm Jabber quản liacute
đatilde được IETF chấp nhận lagravem giao thức standards-track dưới tecircn XMPP với
RFC 3920 Noacute thường được xem lagrave đối thủ cạnh tranh với SIMPLE dựa trecircn
giao thức SIP để lagravem giao thức chuẩn cho nhắn tin nhanh vagrave thocircng baacuteo hiện
diện tuy nhiecircn thiết kế của XMPP được nhắm đến việc cung cấp caacutec tiện iacutech
trigravenh trung gian (middleware) liecircn ứng dụng vagrave mục điacutech tổng quaacutet
Người dugraveng Jabber được xaacutec định bằng tecircn người dugraveng vagrave tecircn maacutey phục vụ
caacutech nhau bằng dấu Căn cước nagravey được gọi lagrave Jabber ID hay JID
GIỚI THIỆU VỀ GIAO THỨC XMPP
Xacircy dựng tiacutenh năng chat qua
facebook server
JID coacute dạng thức tecircn_người_dugravengtecircn_miềntagravei_nguyecircn tương tự như một địa
chỉ email
Người dugraveng Jabber coacute thể truy cập vagraveo tagravei khoản của migravenh cugraveng luacutec tại nhiều điểm
truy cập khaacutec nhau được xaacutec định qua phần tagravei_nguyecircn viacute dụ
tecircn_người_dugravengtecircn_miềncomcơ_quan vagrave tecircn_người_dugravengtecircn_miềncomnhagrave
Khocircng cần thiết chỉ định phần tagravei nguyecircn khi liecircn lạc với người dugraveng khaacutec
Tương tự như Sendmail người dugraveng Jabber coacute thể truy cập vagraveo caacutec giao thức
khaacutec qua cổng giao tiếp Jabber (Jabber Transport) viacute dụ JID của một địa chỉ lagrave
tecircn_người_dugravengmsncommsnjabberservercom
Tecircn người dugraveng trong JID dagravei tối đa 1023 kyacute tự vagrave khocircng được chứa
lt gt amp khoảng trắng vagrave kyacute tự điều khiển
JID
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Add thư viện agsXMPP vagraveo project Khai baacuteo để sử dụng
Xacircy dựng tiacutenh năng chat qua
facebook server
Để coacute thể đăng nhập vagraveo dịch vụ chat ta cần phải coacute username của người dugraveng vagrave
password Username của người dugraveng coacute thể tigravem thấy dưới dạng
Sau khi đatilde coacute username vagrave pass của người dugraveng chuacuteng ta tiến hagravenh đăng nhập
XmppClientConnection xmpp
xmpp = new XmppClientConnection(ldquochatfacebookcomrdquo)
xmppOpen(username password)
if (xmppAuthenticated == true)
Presence p = new Presence(ShowTypechat Online)pType = PresenceTypeavailable
xmppSend(p)
ThreadSleep(6000)
httpswwwfacebookcom[username]
Khai baacuteo
XAcircY DỰNG CHỨC NĂNG CHAT
Tecircn server chat
của facebookDừng lại để chờ
server xaacutec thực
Username
chỗ nagravey
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Add bạn begrave vagraveo danh saacutech chat
xmppMessageGrabberAdd(new Jid(- + friendId + chatfacebookcom)
new BareJidComparer()
new MessageCB(MessageCallBack)
null)
ID của bạn begrave
Hagravem nhận sự kiện
khi coacute tin nhắn tới
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Hagravem nhận sự kiện tin nhắn đến
void MessageCallBack(object sender Message msg object data)
if (msgBody = null)displayMessage()
Đacircy lagrave hagravem chịu traacutech
nhiệm xử liacute vagrave hiển thị tin
nhắn
Xacircy dựng tiacutenh năng chat qua
facebook server
Gửi tin nhắn đi
xmppSend(new Message(new Jid(ldquo-rdquo + friendID + chatfacebookcom)
MessageTypechat
messageBody))
Nội dung tin
nhắn gửi đi
ID của bạn begrave sẽ
nhận tin nhắn
XAcircY DỰNG CHỨC NĂNG CHAT
Xacircy dựng tiacutenh năng chat qua
facebook server Như vậy chuacuteng ta đatilde coacute thể hoagraven thagravenh được tiacutenh năng
chat facebook sử dụng thư viecircn agsxmppdll
Cảm ơn thầy vagrave caacutec
bạn đatilde quan tacircm
theo dotildei
Xacircy dựng tiacutenh năng chat qua
facebook server
JID coacute dạng thức tecircn_người_dugravengtecircn_miềntagravei_nguyecircn tương tự như một địa
chỉ email
Người dugraveng Jabber coacute thể truy cập vagraveo tagravei khoản của migravenh cugraveng luacutec tại nhiều điểm
truy cập khaacutec nhau được xaacutec định qua phần tagravei_nguyecircn viacute dụ
tecircn_người_dugravengtecircn_miềncomcơ_quan vagrave tecircn_người_dugravengtecircn_miềncomnhagrave
Khocircng cần thiết chỉ định phần tagravei nguyecircn khi liecircn lạc với người dugraveng khaacutec
Tương tự như Sendmail người dugraveng Jabber coacute thể truy cập vagraveo caacutec giao thức
khaacutec qua cổng giao tiếp Jabber (Jabber Transport) viacute dụ JID của một địa chỉ lagrave
tecircn_người_dugravengmsncommsnjabberservercom
Tecircn người dugraveng trong JID dagravei tối đa 1023 kyacute tự vagrave khocircng được chứa
lt gt amp khoảng trắng vagrave kyacute tự điều khiển
JID
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Add thư viện agsXMPP vagraveo project Khai baacuteo để sử dụng
Xacircy dựng tiacutenh năng chat qua
facebook server
Để coacute thể đăng nhập vagraveo dịch vụ chat ta cần phải coacute username của người dugraveng vagrave
password Username của người dugraveng coacute thể tigravem thấy dưới dạng
Sau khi đatilde coacute username vagrave pass của người dugraveng chuacuteng ta tiến hagravenh đăng nhập
XmppClientConnection xmpp
xmpp = new XmppClientConnection(ldquochatfacebookcomrdquo)
xmppOpen(username password)
if (xmppAuthenticated == true)
Presence p = new Presence(ShowTypechat Online)pType = PresenceTypeavailable
xmppSend(p)
ThreadSleep(6000)
httpswwwfacebookcom[username]
Khai baacuteo
XAcircY DỰNG CHỨC NĂNG CHAT
Tecircn server chat
của facebookDừng lại để chờ
server xaacutec thực
Username
chỗ nagravey
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Add bạn begrave vagraveo danh saacutech chat
xmppMessageGrabberAdd(new Jid(- + friendId + chatfacebookcom)
new BareJidComparer()
new MessageCB(MessageCallBack)
null)
ID của bạn begrave
Hagravem nhận sự kiện
khi coacute tin nhắn tới
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Hagravem nhận sự kiện tin nhắn đến
void MessageCallBack(object sender Message msg object data)
if (msgBody = null)displayMessage()
Đacircy lagrave hagravem chịu traacutech
nhiệm xử liacute vagrave hiển thị tin
nhắn
Xacircy dựng tiacutenh năng chat qua
facebook server
Gửi tin nhắn đi
xmppSend(new Message(new Jid(ldquo-rdquo + friendID + chatfacebookcom)
MessageTypechat
messageBody))
Nội dung tin
nhắn gửi đi
ID của bạn begrave sẽ
nhận tin nhắn
XAcircY DỰNG CHỨC NĂNG CHAT
Xacircy dựng tiacutenh năng chat qua
facebook server Như vậy chuacuteng ta đatilde coacute thể hoagraven thagravenh được tiacutenh năng
chat facebook sử dụng thư viecircn agsxmppdll
Cảm ơn thầy vagrave caacutec
bạn đatilde quan tacircm
theo dotildei
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Add thư viện agsXMPP vagraveo project Khai baacuteo để sử dụng
Xacircy dựng tiacutenh năng chat qua
facebook server
Để coacute thể đăng nhập vagraveo dịch vụ chat ta cần phải coacute username của người dugraveng vagrave
password Username của người dugraveng coacute thể tigravem thấy dưới dạng
Sau khi đatilde coacute username vagrave pass của người dugraveng chuacuteng ta tiến hagravenh đăng nhập
XmppClientConnection xmpp
xmpp = new XmppClientConnection(ldquochatfacebookcomrdquo)
xmppOpen(username password)
if (xmppAuthenticated == true)
Presence p = new Presence(ShowTypechat Online)pType = PresenceTypeavailable
xmppSend(p)
ThreadSleep(6000)
httpswwwfacebookcom[username]
Khai baacuteo
XAcircY DỰNG CHỨC NĂNG CHAT
Tecircn server chat
của facebookDừng lại để chờ
server xaacutec thực
Username
chỗ nagravey
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Add bạn begrave vagraveo danh saacutech chat
xmppMessageGrabberAdd(new Jid(- + friendId + chatfacebookcom)
new BareJidComparer()
new MessageCB(MessageCallBack)
null)
ID của bạn begrave
Hagravem nhận sự kiện
khi coacute tin nhắn tới
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Hagravem nhận sự kiện tin nhắn đến
void MessageCallBack(object sender Message msg object data)
if (msgBody = null)displayMessage()
Đacircy lagrave hagravem chịu traacutech
nhiệm xử liacute vagrave hiển thị tin
nhắn
Xacircy dựng tiacutenh năng chat qua
facebook server
Gửi tin nhắn đi
xmppSend(new Message(new Jid(ldquo-rdquo + friendID + chatfacebookcom)
MessageTypechat
messageBody))
Nội dung tin
nhắn gửi đi
ID của bạn begrave sẽ
nhận tin nhắn
XAcircY DỰNG CHỨC NĂNG CHAT
Xacircy dựng tiacutenh năng chat qua
facebook server Như vậy chuacuteng ta đatilde coacute thể hoagraven thagravenh được tiacutenh năng
chat facebook sử dụng thư viecircn agsxmppdll
Cảm ơn thầy vagrave caacutec
bạn đatilde quan tacircm
theo dotildei
Xacircy dựng tiacutenh năng chat qua
facebook server
Để coacute thể đăng nhập vagraveo dịch vụ chat ta cần phải coacute username của người dugraveng vagrave
password Username của người dugraveng coacute thể tigravem thấy dưới dạng
Sau khi đatilde coacute username vagrave pass của người dugraveng chuacuteng ta tiến hagravenh đăng nhập
XmppClientConnection xmpp
xmpp = new XmppClientConnection(ldquochatfacebookcomrdquo)
xmppOpen(username password)
if (xmppAuthenticated == true)
Presence p = new Presence(ShowTypechat Online)pType = PresenceTypeavailable
xmppSend(p)
ThreadSleep(6000)
httpswwwfacebookcom[username]
Khai baacuteo
XAcircY DỰNG CHỨC NĂNG CHAT
Tecircn server chat
của facebookDừng lại để chờ
server xaacutec thực
Username
chỗ nagravey
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Add bạn begrave vagraveo danh saacutech chat
xmppMessageGrabberAdd(new Jid(- + friendId + chatfacebookcom)
new BareJidComparer()
new MessageCB(MessageCallBack)
null)
ID của bạn begrave
Hagravem nhận sự kiện
khi coacute tin nhắn tới
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Hagravem nhận sự kiện tin nhắn đến
void MessageCallBack(object sender Message msg object data)
if (msgBody = null)displayMessage()
Đacircy lagrave hagravem chịu traacutech
nhiệm xử liacute vagrave hiển thị tin
nhắn
Xacircy dựng tiacutenh năng chat qua
facebook server
Gửi tin nhắn đi
xmppSend(new Message(new Jid(ldquo-rdquo + friendID + chatfacebookcom)
MessageTypechat
messageBody))
Nội dung tin
nhắn gửi đi
ID của bạn begrave sẽ
nhận tin nhắn
XAcircY DỰNG CHỨC NĂNG CHAT
Xacircy dựng tiacutenh năng chat qua
facebook server Như vậy chuacuteng ta đatilde coacute thể hoagraven thagravenh được tiacutenh năng
chat facebook sử dụng thư viecircn agsxmppdll
Cảm ơn thầy vagrave caacutec
bạn đatilde quan tacircm
theo dotildei
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Add bạn begrave vagraveo danh saacutech chat
xmppMessageGrabberAdd(new Jid(- + friendId + chatfacebookcom)
new BareJidComparer()
new MessageCB(MessageCallBack)
null)
ID của bạn begrave
Hagravem nhận sự kiện
khi coacute tin nhắn tới
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Hagravem nhận sự kiện tin nhắn đến
void MessageCallBack(object sender Message msg object data)
if (msgBody = null)displayMessage()
Đacircy lagrave hagravem chịu traacutech
nhiệm xử liacute vagrave hiển thị tin
nhắn
Xacircy dựng tiacutenh năng chat qua
facebook server
Gửi tin nhắn đi
xmppSend(new Message(new Jid(ldquo-rdquo + friendID + chatfacebookcom)
MessageTypechat
messageBody))
Nội dung tin
nhắn gửi đi
ID của bạn begrave sẽ
nhận tin nhắn
XAcircY DỰNG CHỨC NĂNG CHAT
Xacircy dựng tiacutenh năng chat qua
facebook server Như vậy chuacuteng ta đatilde coacute thể hoagraven thagravenh được tiacutenh năng
chat facebook sử dụng thư viecircn agsxmppdll
Cảm ơn thầy vagrave caacutec
bạn đatilde quan tacircm
theo dotildei
Xacircy dựng tiacutenh năng chat qua
facebook serverXAcircY DỰNG CHỨC NĂNG CHAT
Hagravem nhận sự kiện tin nhắn đến
void MessageCallBack(object sender Message msg object data)
if (msgBody = null)displayMessage()
Đacircy lagrave hagravem chịu traacutech
nhiệm xử liacute vagrave hiển thị tin
nhắn
Xacircy dựng tiacutenh năng chat qua
facebook server
Gửi tin nhắn đi
xmppSend(new Message(new Jid(ldquo-rdquo + friendID + chatfacebookcom)
MessageTypechat
messageBody))
Nội dung tin
nhắn gửi đi
ID của bạn begrave sẽ
nhận tin nhắn
XAcircY DỰNG CHỨC NĂNG CHAT
Xacircy dựng tiacutenh năng chat qua
facebook server Như vậy chuacuteng ta đatilde coacute thể hoagraven thagravenh được tiacutenh năng
chat facebook sử dụng thư viecircn agsxmppdll
Cảm ơn thầy vagrave caacutec
bạn đatilde quan tacircm
theo dotildei
Xacircy dựng tiacutenh năng chat qua
facebook server
Gửi tin nhắn đi
xmppSend(new Message(new Jid(ldquo-rdquo + friendID + chatfacebookcom)
MessageTypechat
messageBody))
Nội dung tin
nhắn gửi đi
ID của bạn begrave sẽ
nhận tin nhắn
XAcircY DỰNG CHỨC NĂNG CHAT
Xacircy dựng tiacutenh năng chat qua
facebook server Như vậy chuacuteng ta đatilde coacute thể hoagraven thagravenh được tiacutenh năng
chat facebook sử dụng thư viecircn agsxmppdll
Cảm ơn thầy vagrave caacutec
bạn đatilde quan tacircm
theo dotildei
Xacircy dựng tiacutenh năng chat qua
facebook server Như vậy chuacuteng ta đatilde coacute thể hoagraven thagravenh được tiacutenh năng
chat facebook sử dụng thư viecircn agsxmppdll
Cảm ơn thầy vagrave caacutec
bạn đatilde quan tacircm
theo dotildei
Cảm ơn thầy vagrave caacutec
bạn đatilde quan tacircm
theo dotildei