Tải bản đầy đủ (.pdf) (20 trang)

Đề tài PHÁT TRIỂN ỨNG DỤNG CHO MẠNG XÃ HỘI FACEBOOK docx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (559.18 KB, 20 trang )


1
****************

BÁO CÁO KẾT QUẢ THỰC TẬP
Thời gian từ 1/2/2012 đến 31/3/2012

Đề tài
PHÁT TRIỂN ỨNG DỤNG CHO MẠNG XÃ HỘI FACEBOOK




Giáo viên hướng dẫn: PGS.TSKH Vũ Đình Hòa
Sinh viên thực hiện: Nguyễn Đức Toàn











TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc






2

Nhận xét của giáo viên hướng dẫn
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………

……………………………………………………………………………………………

3
BÁO CÁO THỰC TẬP

Họ và tên sinh viên: NGUYỄN ĐỨC TOÀN
Lớp: K58B Điện thoại: 0906.295.990 Email:
Cơ sở thực tập:
Công Ty Cổ Phần Giải Pháp Công Nghệ Truyền Thông DCTECH
Địa chỉ: 298 Hoàng Mai – phường Hoàng Văn Thụ – quận Hoàng Mai – Hà Nội
Điện thoại: 0466.800.913
Người hướng dẫn: Đào Xuân Trung
Điện thoại: 0944.628.802 Email:
Nơi công tác: Công Ty Cổ Phần Giải Pháp Công Nghệ Truyền Thông
DCTECH
Giáo viên theo dõi: PGS.TSKH Vũ Đình Hòa
Điện thoại: Email:
Nội dung thực tập:
Phát triển ứng dụng trên mạng xã hội Facebook.
Loại hình:
Phát triển Ứng dụng [ x ] Nghiên cứu [ ]
Tìm hiểu Công nghệ [ ] Khác [ ]
Nội dung công việc:
-, Tìm hiểu các tài liệu về việc xây dựng ứng dụng trên facebook
-, Tìm hiểu Tương tác với người dùng facebook với ứng dụng.
-, Sử dụng Facebook PHP SDK để xây dựng ứng dụng.
-, Xây dựng ứng dụng đơn giản cho facebook.
-, Xây dựng ứng dụng có tương tác với người dùng trên facebook.
-, Viết hướng dẫn xây dựng ứng dụng trên facebook.


4
Những thu hoạch từ tìm hiểu thực tế và thực tập
I. Những điều thu hoạch được từ tìm hiểu thực tế ở cơ sở thực tập
DCTECH được thành lập bởi một nhóm developer chuyên nghiệp, cung cấp
và phát triển phần mềm, thiết kế website, dịch vụ SEO. Với bộ phận nhân lực giàu
kinh nghiệm, mục tiêu của chúng tôi là mang đến cho khách hàng giá trị kinh
doanh lớn nhất, thị phần được cải thiện và phát triển liên tục.
Công ty luôn có nhu cầu tuyển dụng thêm đội ngũ trẻ, nhiệt huyết trong công
việc, đảm bảo lực lượng hùng hậu của công ty.
II.Những kiến thức và kỹ năng đã vận dụng để hoàn thành nhiệm vụ
Kiến thức
A. Kiến thức về lập trình PHP và MySQL
1. PHP
Với đặc điểm các ứng dụng trên Facebook hoàn toàn không phụ thuộc vào
ngôn ngữ do đó, việc sử dụng ngôn ngữ phát triển ứng dụng cũng rất linh hoạt.
Trong trường hợp này, tôi sử dụng PHP. Vì đặc điểm đã có một số kinh nghiệm
trong việc phát triển website và các ứng dụng trên website với ngôn ngữ PHP.
Tôi sử dụng PHP 5. Lập trình hướng đối tượng. Phù hợp với xu hướng và
cách suy nghĩ của PHP SKD Facebook mà tôi sẽ sử dụng để làm ứng dụng cho
Facebook.
2. MySQL
Chuẩn bị, ôn tập lại kiến thức về SQL, làm việc với MySQL trên server để
phục cho mục đích cần tương tác với cơ sở dữ liệu khi cần thiết theo yêu cầu của
ứng dụng.

5
B. Chuẩn bị các kiến thức về việc tạo ứng dụng cho Facebook
1. Các tài liệu cơ bản
Các tài liệu cơ bản này sẽ giúp cho người lập trình có những khái niệm đầu
tiên, ý hiểu đầu tiên về việc lập trình ứng dụng cho Facebook. Bắt đầu, tại trang

dành cho nhà phát triển ứng dụng: . Tại đây,
Facebook cung cấp tất cả các tài liệu, tạo ứng dụng, công cụ quản trị ứng dụng…
a. Khái niệm đầu tiên được nhắc đến đó là Canvas Page tại địa chỉ
Tại đây, Facebook sẽ giúp
chúng ta hiểu các khái niệm cơ bản ban đầu về những thứ bạn cần, bạn sẽ làm việc,
những thứ bạn có thể làm trên ứng dụng.
Canvas Page.
Các ứng dụng Facebook là các ứng dụng web được đưa lên Facebook dưới
dạng mà Facebook gọi là Canvas Page. Các ứng dụng được tải vào Canvas Page,
do đó bạn cần phải khai báo canvas url là nơi mà bạn chứa mã nguồn của ứng dụng
(dễ hiểu, đây là địa chỉ thực của ứng dụng trên internet, ví dụ:
là nơi mà tôi đặt ứng dụng có tên thx-hlworld.) Khi
người dùng sử dụng ứng dụng, Canvas Page sẽ load mọi thứ theo địa chỉ canvas url
dưới dạng iframe. Độ rộng mặc định của khung canvas là 760px, tuy nhiên bạn
hoàn toàn có thể làm việc theo tùy chọn khung trình duyệt của người dùng.


6
Social Channels
Đây là những khái niệm, giúp bạn hiểu và làm việc sao cho để ứng dụng của
bạn thực sự mang tính mạng xã hội.
Bookmarks: khi người dùng chấp nhận sử dụng ứng dụng, Facebook sẽ tự
động thêm 1 lối truy cập tắt (short cut) tại trang chủ trang cá nhân của người dùng
hay trên thanh công cụ tại trang ứng dụng của người dùng.
Notifications: hiển thị các thông báo, các nhắc nhớ người dùng về ứng dụng,
yêu cầu bạn bè sử dụng ứng dụng… Trong việc yêu cầu bạn bè sử dụng ứng dụng
có 2 cách để thực hiện: Người dùng tự gửi yêu cầu – chúng ta sẽ cung cấp cho
người dùng khả năng gửi yêu cầu sử dụng ứng dụng tới bạn bè; Ứng dụng gửi yêu
cầu – ứng dụng sẽ tự động gửi yêu cầu, với các quyền mà người dùng cho phép.
Newsfeedstories: Facebook cung cấp các khả năng cho bạn có thể đọc, hoặc

đăng các bài viết lên tường của người dùng.
Search
Tìm kiếm ứng dụng của bạn trên Facebook, khi mà ứng dựng đạt 10 người sử
dụng hàng tháng, thì Facebook sẽ đưa ứng dụng của bạn vào danh sách ứng dụng
được tìm kiếm, khi mà họ cập nhật (mỗi 2 – 4 tuần)
Page
Bạn có thể xây dựng ứng dụng của mình ở trên 1 page của Facebook. Điều đó
có nghĩa là, ứng dụng của bạn sẽ hoạt động và tương tác với người dùng tại các
page với các tính năng của page chứ không còn đơn thuần là 1 ứng dụng.
Game and App dashboad
Đây là nơi mà Facebook cung cấp, các ứng dụng, trò chơi do bạn phát triển sẽ
được hiển thị cho người dùng nhìn thấy và lựa chọn.
Analytics
Công cụ giúp người phát triển ứng dụng có thể theo dõi hoạt động của ứng
dụng của mình, các thông tin liên quan về người dùng, các báo cáo hàng tháng….
b. Authentication(xác thực)

7
Xác thực giúp ứng dụng của bạn có thể biết được các thông tin người dùng,
đọc, lấy thông tin người dùng thông qua các API để sử dụng cho các mục đích của
ứng dụng.
Tùy thuộc vào ứng dụng, chúng ta sẽ yêu cầu người dùng cung cấp các quyền
truy cập tới thông tin, tác động lên tài khoản.
Permission
Mặc định, khi người dùng xác thực với ứng dụng, ứng dụng sẽ có quyền truy
cập tới các thông tin cơ bản như: tên, ảnh đại diện, giới tính, vị trí và tất cả những
thông tin người dùng để công khai.
Để có thêm dữ liệu, hoặc khả năng đọc ghi dữ liệu người dùng, ứng dụng cần
yêu cầu cấp thêm quyền và phạm vi sử dụng thông tin.
Dưới đây là bảng các permission(quyền) và mô tả các thông tin có thể lấy ra

với từng permission đối với User và Friends (người dùng và bạn bè của họ)

User permission
Friends permission
Description
user_about_me
friends_about_me
Provides access to the
"About Me" section of the
profile in the about property
user_activities
friends_activities
Provides access to the user's
list of activities as the
activities connection
user_birthday
friends_birthday
Provides access to the
birthday with year as the
birthday property
user_checkins
friends_checkins
Provides read access to the
authorized user's check-ins
or a friend's check-ins that
the user can see. This
permission is superseded by
user_status for new
applications as of March,
2012.

user_education_history
friends_education_history
Provides access to education
history as the education
property
user_events
friends_events
Provides access to the list of
events the user is attending
as the events connection
user_groups
friends_groups
Provides access to the list of
groups the user is a member

8
User permission
Friends permission
Description
of as the groups connection
user_hometown
friends_hometown
Provides access to the user's
hometown in the hometown
property
user_interests
friends_interests
Provides access to the user's
list of interests as the
interests connection

user_likes
friends_likes
Provides access to the list of
all of the pages the user has
liked as the likes
connection
user_location
friends_location
Provides access to the user's
current location as the
location property
user_notes
friends_notes
Provides access to the user's
notes as the notes
connection
user_photos
friends_photos
Provides access to the photos
the user has uploaded, and
photos the user has been
tagged in
user_questions
friends_questions
Provides access to the
questions the user or friend
has asked
user_relationships
friends_relationships
Provides access to the user's

family and personal
relationships and relationship
status
user_relationship_details
friends_relationship_details
Provides access to the user's
relationship preferences
user_religion_politics
friends_religion_politics
Provides access to the user's
religious and political
affiliations
user_status
friends_status
Provides access to the user's
status messages and
checkins. Please see the
documentation for the
location_post table for
information on how this
permission may affect
retrieval of information
about the locations
associated with posts.
user_videos
friends_videos
Provides access to the videos
the user has uploaded, and
videos the user has been
tagged in


9
User permission
Friends permission
Description
user_website
friends_website
Provides access to the user's
web site URL
user_work_history
friends_work_history
Provides access to work
history as the work property
email
N/A
Provides access to the user's
primary email address in the
email property. Do not spam
users. Your use of email
must comply both with
Facebook policies and with
the CAN-SPAM Act.
Và một số Permision mở rộng:
Permission
Description
read_friendlists
Provides access to any friend lists the user created. All user's
friends are provided as part of basic data, this extended permission
grants access to the lists of friends a user has created, and should
only be requested if your application utilizes lists of friends.

read_insights
Provides read access to the Insights data for pages, applications,
and domains the user owns.
read_mailbox
Provides the ability to read from a user's Facebook Inbox.
read_requests
Provides read access to the user's friend requests
read_stream
Provides access to all the posts in the user's News Feed and enables
your application to perform searches against the user's News Feed
xmpp_login
Provides applications that integrate with Facebook Chat the ability
to log in users.
ads_management
Provides the ability to manage ads and call the Facebook Ads API
on behalf of a user.
create_event
Enables your application to create and modify events on the user's
behalf
manage_friendlists
Enables your app to create and edit the user's friend lists.
manage_notifications
Enables your app to read notifications and mark them as read.
user_online_presence
Provides access to the user's online/offline presence
friends_online_presence
Provides access to the user's friend's online/offline presence
publish_checkins
Enables your app to perform checkins on behalf of the user.
publish_stream

Enables your app to post content, comments, and likes to a user's
stream and to the streams of the user's friends. With this
permission, you can publish content to a user's feed at any time.
However, please note that Facebook recommends a user-initiated
sharing model. Please read the Platform Policies to ensure you
understand how to properly use this permission. Note, you do not
need to request the publish_stream permission in order to use the
Feed Dialog, the Requests Dialog or the Send Dialog.
rsvp_event
Enables your application to RSVP to events on the user's behalf


10
Tùy vào từng ứng dụng của bạn được thiết kế cho ứng dụng, môi trường hoặc theo
yêu cầu riêng, có thể có nhiều cách xác thực
 Authentication in native Android apps
 Authentication in native iOS apps
 Authentication within a Page Tab on www.facebook.com
 Authentication within a Canvas Page on apps.facebook.com
 Authentication for Websites & Mobile Web apps using Javascript (client-
side flow)
 Authentication for Websites & Mobile Web apps using a Server (server-side
flow)
 Authentication for devices without access to a browser
Ở đây, tôi sẽ giới thiệu về client-side. Bạn chỉ cần đưa đoạn code này vào, trình
duyệt sẽ hiện lên cửa sổ xác thực:

client_id=YOUR_APP_ID
&redirect_uri=YOUR_REDIRECT_URI
&scope=COMMA_SEPARATED_LIST_OF_PERMISSION_NAMES

&response_type=token
Người dùng sẽ được yêu cầu xác thực cho ứng dụng. Và sẽ được chuyển tiếp
sang trang này:
YOUR_REDIRECT_URI#access_token=USER_ACCESS_TOKEN&expires_in=NUMBER_OF_S
ECONDS_UNTIL_TOKEN_EXPIRES
c. API
Thành phần cơ bản trong lõi của Facebook là giao diện đồ hòa API, nơi sẽ
hiển thị ra cho chúng ta các thông tin về đối tượng sử dụng (người dùng
Facebook), các event, page….
Ví dụ: đây là các thông tin về người dùng có username là thienhaxanh2405
(tài khoảng của tôi)
Trên trình duyệt sẽ hiển thị ra
các thông tin như sau:
{
"id": "100000712654349",
"name": "Gbmnguy\u1ec5n \u0110\u1ee9c To\u00e0n",
"first_name": "Gbmnguy\u1ec5n",
"last_name": "\u0110\u1ee9c To\u00e0n",
"link": "
"username": "thienhaxanh2405",
"gender": "male",
"locale": "vi_VN"

11
}
Page của Coca-cola
{
"id": "40796308305",
"name": "Coca-Cola",
"picture": " />snc4/174560_40796308305_2093137831_s.jpg",

"link": "
"likes": 40940210,
"cover": {
"cover_id": "10150682306963306",
"source": " />snc7/s720x720/416803_10150682306963306_40796308305_9337341_812683101_n
.jpg",
"offset_y": 0
},
"category": "Food/beverages",
"is_published": true,
"website": "",
"username": "coca-cola",
"founded": "1886",
"description": "Created in 1886 in Atlanta, Georgia, by Dr. John S.
Pemberton, Coca-Cola was first offered as a fountain beverage at
Jacob's Pharmacy by mixing Coca-Cola syrup with carbonated water.
\n\nCoca-Cola was patented in 1887, registered as a trademark in 1893
and by 1895 it was being sold in every state and territory in the
United States. In 1899, The Coca-Cola Company began franchised
bottling operations in the United States. \n\nCoca-Cola might owe its
origins to the United States, but its popularity has made it truly
universal. Today, you can find Coca-Cola in virtually every part of
the world.",
"about": "The Coca-Cola Facebook Page is a collection of your
stories showing how people from around the world have helped make Coke
into what it is today.",
"can_post": true,
"checkins": 81,
"talking_about_count": 301496
}

API là một phương thức giúp chúng ta rất dễ dàng truy cập các thông tin về
các đối tượng. Để lấy thêm các thông tin khác chúng ta phải cần yêu cầu người
dùng cấp quyền. Để làm được điều đó, trước hết bạn lấy được access token của
người dùng và truy cập theo link:

Ví dụ: với tài khoản thienhaxanh2405;
/>AHu5YlZCp31fMKYrc5jrLbCW600ZB9zXAmqEhNkqHzWs64qpVZC2AeA3jx
SaDZBdKf6uATtJEhOCVq3vda3BqBS6FkF7wsNOVm1N9DCe

{
"id": "100000712654349",
"name": "Gbmnguy\u1ec5n \u0110\u1ee9c To\u00e0n",
"first_name": "Gbmnguy\u1ec5n",
"last_name": "\u0110\u1ee9c To\u00e0n",
"link": "
"username": "thienhaxanh2405",
"birthday": "05/24/1990",
"location": {

12
"id": "110931812264243",
"name": "Ha Noi, Vietnam"
},
"bio": "M\u1ee5c ti\u00eau: Ho\u00e0n th\u00e0nh nh\u1eefng
g\u00ec \u0111\u00e3 kh\u1edfi s\u1ef1 +.+!",
"work": [
{
"employer": {
"id": "115717938447744",
"name": "vn-laptop.net"

},
"location": {
"id": "110931812264243",
"name": "Ha Noi, Vietnam"
},
"position": {
"id": "169270803085484",
"name": "Ch\u1ea1y Lon Ton"
},
"description": "Di\u1ec5n \u0110\u00e0n M\u00e1y
T\u00ednh X\u00e1ch Tay",
"start_date": "2009-05"
}
],
"favorite_teams": [
{
"id": "7724542745",
"name": "Manchester United"
}
],
"favorite_athletes": [
{
"id": "160973470617405",
"name": "Chicharito"
}
],
"gender": "male",
"website": "",
"timezone": 7,
"locale": "vi_VN",

"verified": true,
"updated_time": "2012-03-26T16:02:58+0000"
}
API còn giúp chúng ta giao tiếp tốt với người dùng như
Đọc thông tin người dùng (Reading)
Đăng thông tin lên trang người dùng (Publishing): ví dụ để đăng 1 bài viết lên
tường:

curl -F 'access_token= ' \
-F 'message=Hello, thienhaxanh2405. Tôi thích cái API này.' \

Một số phương thức được hỗ trợ
Method
Description
Arguments
/PROFILE_ID/feed
Publish a new post on the
given profile's feed/wall
message, picture, link, name,
caption, description, source,
place, tags

13
/OBJECT_ID/comments
Comment on the given object
(if it has a /comments
connection)
message
/OBJECT_ID/likes
Like the given object (if it has

a /likes connection)
none
/PROFILE_ID/notes
Publish a note on the given
profile
message, subject
/PROFILE_ID/links
Publish a link on the given
profile
link, message, picture, name,
caption, description
/PROFILE_ID/events
Create an event
name, start_time, end_time
/EVENT_ID/attending
RSVP "attending" to the given
event
none
/EVENT_ID/maybe
RSVP "maybe" to the given
event
none
/EVENT_ID/declined
RSVP "declined" to the given
event
none
/PROFILE_ID/albums
Create an album
name, message
/ALBUM_ID/photos

Upload a photo to an album
message, source, place
(multipart/form-data)
/PROFILE_ID/checkins
Create a checkin at a location
represented by a Page
coordinates, place, message, tags

d. Cách tạo ứng dụng trên Facebook
Truy cập địa chỉ dành cho nhà phát triển:
Nếu là lần đầu tiên bạn xây dựng ứng dụng,
facebook sẽ yêu cầu phải cấp quyền để như ở hình dướng


14
Sau khi xác thực, bạn có thể bắt đầu ngay lập tức với việc tạo ứng dụng cho
facebook.

Chú ý rằng, tài khoản của bạn phải được xác thực với facebook trước (xác
thực qua tin nhắn điện thoại….)
Cấu hình ứng dụng

Bạn chọn loại hình ứng dụng mà mình phát triển, ở đây tôi chọn App on
Facebook.
App Display name: tên ứng dụng. Ví dụ: Hello World

15
App namespace: tên namespace (tên này ở trên đường dẫn tới ứng dụng, ví
du: hlworld-thx, đường dẫn sẽ là: )
Email: mail liên hệ

Category: thể loại của ứng dụng.
Canvas URL: chính là đường dẫn tới nơi tôi đặt toàn bộ code của ứng dụng.
Secure Canvas URL: đường dẫn an toàn, sử dụng https
Như vậy, sau bước này là chúng ta đã có thể chạy một ứng dụng đơn giản
trên facebook tại địa chỉ ứng dụng

e. Facebook SDK PHP
SDK PHP cung cấp cho chúng ta rất nhiều tính năng để truy xuất Facebook.
Như: API Graph, FQL,….
Có thể download tại địa chỉ:
Cài đặt và sử dụng:
Sau khi download SDK này về, bạn chỉ cần đặt bộ nguồn này vào thư mục
chưa code của ứng dụng bạn đang xây dựng.
Để cầu hình sử dụng chúng ta cần đoạn mã này
require_once("facebook.php");

$config = array();
$config[‘appId’] = 'YOUR_APP_ID';
$config[‘secret’] = 'YOUR_APP_SECRET';
$config[‘fileUpload’] = false; // optional

$facebook = new Facebook($config);
Như vậy chúng ta đã tạo ra 1 đối tượng có tên là $facebook, và từ bây giờ,
chúng ta sẽ làm việc với đối tượng này.
Xác thực
Để xác thực với người dùng, chúng ta sử dụng các phương thức sau:
Facebook::getUser(), Facebook::getLoginUrl() và Facebook::getLogoutUrl();

Trong $facebook gồm:
api

Gọi tới phương thức API, truy vấn FQL hoặc khai báo các API sử dụng bới
getAccessToken

16
Lấy ra access token hiện tại
getApiSecret
Lấy ra mã App Secret
getAppId
Lấy ra ID của ứng dụng.
getLoginStatusUrl
Trả về URL dựa trên tình trạng đăng nhập hiện tại của người dùng
getLoginUrl
Lấy URL login, lin đăng nhập
getLogoutUrl
Lấy ra URL đăng xuất.
getSignedRequest
Get the current signed request being used by the SDK.
getUser
Lấy ID của người dùng hiện tại
setAccessToken
đăt lại access token cho người dùng hiện tại
setApiSecret
Set the App secret that the SDK is currently using.
setAppId
Set the App ID that the SDK is currently using.
setFileUploadSupport
Set file upload support in the SDK.
useFileUploadSupport
Get whether file upload support has been enabled in the SDK.
FacebookApiException (bắt lỗi)

getResult
Get the object that is the result of the error or exception returned by the
server.
getType

17
Get the type for the error or exception, e.g. OAuthException.
2. Xây dựng ứng dụng đơn giản trên Facebook
T đã xây dựng ứng dụng: Bạn chọn chiếc mũ nào hôm nay.

Là một ứng dụng vui, ứng dụng này sẽ tự động lấy ra vị trí hiện tại của bạn,
lấy ra thời tiết hiện tại và sẽ đưa ra lời tư vấn cho bạn khi đi ra khỏi nhà.
Ứng dụng cơ bản dựa trên 2 lớp tôi xây dựng đó là lớp Người dùng, và lớp
Thời tiết

class User {
public $id; // Id người dùng
public $fullname; // Tên người dùng
$user_profile['name'], fullname
public $location = null; // Vị trí
public $email; // Email
public $havelocation = false; // Kiểm tra vị trí
public $Islogin = false;
public $LoginUrl;
public $LogoutUrl;

public function __construct()
{
// Gọi file config
require 'config_fb.php';


// Lấy ra id người dùng
$this->id = $fb->getUser();

// Islogin
if ($this->id) {$this->Islogin = true;}

// Lấy link LogIn; LogOut
$paramlogin = array ('scope' => 'read_stream, email');
if(!$this->Islogin){ $this->LoginUrl = $fb->getLoginUrl($paramlogin);
} else { $this->LogoutUrl = $fb->getLogoutUrl(); }


if($this->Islogin)
{
try
{
// Lấy thông tin người dùng vào biến $user_profile từ
api('/me')
$user_profile = $fb->api('/me');

// Tên đầy đủ
$this->fullname = $user_profile['name'];

// Email
$this->email = $user_profile['email'];

// Kiểm tra vị trí, lấy vị trí
if ($user_profile['location']['name'])
{


18
$this->location =
$user_profile['location']['name'];
}
}
catch(FacebookApiException $e)
{
// error_log($e);
// $user = null;
}
}

}

}
Đây là lớp người dùng: mục đích là để dễ dàng lấy ra đường link đăng nhập,
đăng xuất, vị trí hiện tại, email, và họ tên.
Và tất nhiên ở đây tôi sử dụng Facebook SDK PHP, được khai báo là $fb. $fb
giúp tôi lấy ra các thông tin cần thiết về người dùng.

class Weather {
public $temp; // Nhiệt độ
public $condition; // Điều kiện hiện tại
public $condition_icon; // Link icon điều kiện

// Khởi tạo giá trị nhiệt độ, điều kiện thời tiết,
// icon theo vị trí hiện tại của người dùng
public function __construct($location)
{

if($location)
{
// Lấy thông tin thời tiết từ Google Weather API
$weather_xml_link = "
$weather = simplexml_load_file($weather_xml_link);
$cur_weather = $weather-
>xpath("/xml_api_reply/weather/current_conditions");

// Tính ra nhiệt độ C
$this->temp = round(($cur_weather[0]->temp_f['data'] - 32)*(5/9));

// Icon của thời tiết
$this->condition_icon = ''.$cur_weather[0]-
>icon['data'];

// Điều kiện Thời tiết ra tiếng Việt
// Điều kiện thời tiết trong tiếng Anh CÓ dấu cách ở giữa. Ví dụ: Mostly Cloudy
// do đó cần bỏ khoảng trắng ở giữa bằng hàm: str_replace('
','',$cur_weather[0]->condition['data'])
// thay thế khoảng trắng ' ' bằng kí tự rỗng ''
$xml_data =
simplexml_load_file('
$viet_condition_link = '/hatstoday/current_condition/'.str_replace('
','',$cur_weather[0]->condition['data']);
$tt = $xml_data->xpath($viet_condition_link);
// Điều kiện thời tiết
$this->condition = $tt[0]['data'];
}
}
}


19
Lớp thời tiết này, giúp tôi lấy các thông tin thời tiết với đầu vào là vị trí, mà
tôi đã lấy được từ lớp Người dùng.
Tôi sử dụng Google API Weather để lấy thông tin thời tiết, đọc và xử lý XML
được Google API weather trả về.
Phần còn lại là việc chọn mũ, ở đây tôi sẽ lựa chọn ngẫu nhiên 1 loại mũ mà
tôi đã để sẵn trong cơ sở dữ liệu với một vài câu bình luận vui vẻ.
Kết quả của ứng dụng hiện tại ở:

Kỹ năng
1.Kỹ năng quản lý thời gian
Khi tham gia và công việc ở đây, em tự lên kế hoạch cho mình phù hợp nhất và
hoàn thành nhiệm vụ trong thời gian đã đề ra. Quản lý tốt thời gian của mình chính là
chìa khóa để hoàn tất mọi việc.
2.Kỹ năng giao tiếp
Đến nơi thực tập, thời gian đầu là thời gian để mỗi người làm quen với các anh chị
trong phòng đó, công ty đó. Vì vậy kỹ năng giao tiếp giúp em xây dựng mối quan hệ với
mọi người, cách bày tỏ mong muốn, đề đạt, ý kiến của mình, cũng như là cách lắng nghe,
tiếp thu, học hỏi từ người hướng dẫn của mình và mọi người xung quanh.
3.Kỹ năng đọc hiểu tài liệu tiếng Anh
Vì công nghệ luôn luôn đổi mới, và không phải kiến thức nào cũng có tài liệu
bằng tiếng Việt cho bản thân mình tìm hiểu. Hơn nữa, đọc hiểu tốt tài liệu tiếng Anh giúp
em hiểu sâu sắc hơn về kiến thức mà mình cần nghiên cứu.
III. Những kiến thức và kỹ năng cần bổ sung, cần học hỏi thêm để đáp ứng được
nhu cầu thực tế
- Kiến thức về mạng máy tính
- Kỹ năng tìm tài liệu và nghiên cứu tài liệu tiếng Anh
- Kỹ năng tự học
IV. Ba bài học có ý nghĩa nhất trong đợt đi thực tế và thực tập

- Đúng giờ
- Làm việc có kế hoạch
- Hỏi thật nhiều
V. Những góp ý cho cơ sở thực tế và cho việc tổ chức đi thực tế, thực tập
Đi thực tập là một lần được trải nghiệm với công việc, được áp dụng những kiến
thức được cho là lý thuyết mà mỗi cá nhân học tập trong nhà trường, các buổi ngoại
khóa. Vì vậy việc thực tập trở nên thật ý nghĩa.


20
Hà Nội Ngày 29 tháng 3 năm 2012
Xác nhận của đơn vị thực tập Người viết báo cáo



Nguyễn Đức Toàn

×