Tài liệu Phát triển ứng dụng cho mạng xã hội facebook

  • Số trang: 20 |
  • Loại file: PDF |
  • Lượt xem: 113 |
  • Lượt tải: 0
nhattuvisu

Đã đăng 27125 tài liệu

Mô tả:

TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM KHOA CÔNG NGHỆ THÔNG TIN Độc lập – Tự do – Hạnh phúc ------------------------- -------------- **************** 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 1 Nhận xét của giáo viên hướng dẫn ……………………………………………………………………………………………... ……………………………………………………………………………………………... ……………………………………………………………………………………………... ……………………………………………………………………………………………... ……………………………………………………………………………………………... ……………………………………………………………………………………………... …………………………………………………………………………………………….. …………………………………………………………………………………………….. …………………………………………………………………………………………….. …………………………………………………………………………………………….. …………………………………………………………………………………………….. …………………………………………………………………………………………….. …………………………………………………………………………………………….. ……………………………………………………………………………………………... ………………………………………………………………………………………........... ……………………………………………………………………………………………... ……………………………………………………………………………………………... ……………………………………………………………………………………………... ……………………………………………………………………………………………... ……………………………………………………………………………………………... ……………………………………………………………………………………………... …………………………………………………………………………………………….. …………………………………………………………………………………………….. …………………………………………………………………………………………….. 2 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: me@thx.co.cc 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: trungdx@dctech.vn 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. 3 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. 4 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: https://developers.facebook.com. 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ỉ https://developers.facebook.com/docs/guides/canvas/. 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ụ: http://fb.thx.co.cc/thx-hlworld 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. 5 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) 6 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 user_about_me friends_about_me user_activities friends_activities user_birthday friends_birthday user_checkins friends_checkins user_education_history friends_education_history user_events friends_events user_groups friends_groups 7 Description Provides access to the "About Me" section of the profile in the about property Provides access to the user's list of activities as the activities connection Provides access to the birthday with year as the birthday property 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. Provides access to education history as the education property Provides access to the list of events the user is attending as the events connection Provides access to the list of groups the user is a member User permission Friends permission Description of as the groups connection Provides access to the user's user_hometown friends_hometown hometown in the hometown property Provides access to the user's user_interests friends_interests list of interests as the interests connection Provides access to the list of all of the pages the user has user_likes friends_likes liked as the likes connection Provides access to the user's user_location friends_location current location as the location property Provides access to the user's user_notes friends_notes notes as the notes connection Provides access to the photos the user has uploaded, and user_photos friends_photos photos the user has been tagged in Provides access to the user_questions friends_questions questions the user or friend has asked Provides access to the user's family and personal user_relationships friends_relationships relationships and relationship status Provides access to the user's user_relationship_details friends_relationship_details relationship preferences Provides access to the user's user_religion_politics friends_religion_politics religious and political affiliations Provides access to the user's status messages and checkins. Please see the documentation for the location_post table for user_status friends_status information on how this permission may affect retrieval of information about the locations associated with posts. Provides access to the videos the user has uploaded, and user_videos friends_videos videos the user has been tagged in 8 User permission Friends permission user_website friends_website user_work_history friends_work_history email N/A Description Provides access to the user's web site URL Provides access to work history as the work property 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 Provides access to any friend lists the user created. All user's friends are provided as part of basic data, this extended permission read_friendlists grants access to the lists of friends a user has created, and should only be requested if your application utilizes lists of friends. Provides read access to the Insights data for pages, applications, read_insights 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 Provides access to all the posts in the user's News Feed and enables read_stream your application to perform searches against the user's News Feed Provides applications that integrate with Facebook Chat the ability xmpp_login to log in users. Provides the ability to manage ads and call the Facebook Ads API ads_management on behalf of a user. Enables your application to create and modify events on the user's create_event 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. 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 publish_stream 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 9 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 (clientside 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: https://www.facebook.com/dialog/oauth? 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) https://graph.facebook.com/thienhaxanh2405. 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": "http://www.facebook.com/thienhaxanh2405", "username": "thienhaxanh2405", "gender": "male", "locale": "vi_VN" 10 } Page của Coca-cola https://graph.facebook.com/cocacola { "id": "40796308305", "name": "Coca-Cola", "picture": "http://profile.ak.fbcdn.net/hprofile-aksnc4/174560_40796308305_2093137831_s.jpg", "link": "http://www.facebook.com/coca-cola", "likes": 40940210, "cover": { "cover_id": "10150682306963306", "source": "http://sphotos.xx.fbcdn.net/hphotossnc7/s720x720/416803_10150682306963306_40796308305_9337341_812683101_n .jpg", "offset_y": 0 }, "category": "Food/beverages", "is_published": true, "website": "http://www.coca-cola.com", "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: https://graph.facebook.com/220439?access_token=... Ví dụ: với tài khoản thienhaxanh2405; https://graph.facebook.com/thienhaxanh2405?access_token=AAAAAAITEghMB AHu5YlZCp31fMKYrc5jrLbCW600ZB9zXAmqEhNkqHzWs64qpVZC2AeA3jx SaDZBdKf6uATtJEhOCVq3vda3BqBS6FkF7wsNOVm1N9DCe { "id": "100000712654349", "name": "Gbmnguy\u1ec5n \u0110\u1ee9c To\u00e0n", "first_name": "Gbmnguy\u1ec5n", "last_name": "\u0110\u1ee9c To\u00e0n", "link": "http://www.facebook.com/thienhaxanh2405", "username": "thienhaxanh2405", "birthday": "05/24/1990", "location": { 11 "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": "http://www.vn-laptop.net", "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: https://graph.facebook.com/thienhaxanh2405/feed: curl -F 'access_token=...' \ -F 'message=Hello, thienhaxanh2405. Tôi thích cái API này.' \ https://graph.facebook.com/thienhaxanh2405/feed Một số phương thức được hỗ trợ Method /PROFILE_ID/feed Description Publish a new post on the given profile's feed/wall 12 Arguments message, picture, link, name, caption, description, source, place, tags /OBJECT_ID/comments /OBJECT_ID/likes /PROFILE_ID/notes /PROFILE_ID/links Comment on the given object message (if it has a /comments connection) Like the given object (if it has none a /likes connection) Publish a note on the given message, subject profile Publish a link on the given profile /PROFILE_ID/events link, message, picture, name, caption, description Create an event RSVP "attending" to the given /EVENT_ID/attending event RSVP "maybe" to the given /EVENT_ID/maybe event RSVP "declined" to the given /EVENT_ID/declined event name, start_time, end_time /PROFILE_ID/albums Create an album name, message /ALBUM_ID/photos Upload a photo to an album /PROFILE_ID/checkins Create a checkin at a location represented by a Page none none none message, source, place (multipart/form-data) 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: http://developers.facebook.com/apps 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 13 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 14 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à: http://apps.facebook.com/hlworld-thx ) 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 http://apps.facebook.com/hlworld-thx/ 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ỉ: https://github.com/facebook/php-sdk 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 15 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 16 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. http://apps.facebook.com/thx-hatstoday/ 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; public $fullname; // Tên người dùng $user_profile['name'], fullname public $location = null; public $email; public $havelocation = false; public $Islogin = false; public $LoginUrl; public $LogoutUrl; // Id người dùng // Vị trí // Email // Kiểm tra vị trí 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']) { 17 $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; public $condition; public $condition_icon; // Nhiệt độ // Điều kiện hiện tại // 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 = "http://www.google.com/ig/api?weather=".$location; $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 = 'http://www.google.com'.$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('http://fb.thx.co.cc/hatstoday/data.xml'); $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']; } } } 18 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 ở: http://apps.facebook.com/thx-hatstoday/ 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. 19 Hà Nội Ngày 29 tháng 3 năm 2012 Người viết báo cáo Xác nhận của đơn vị thực tập Nguyễn Đức Toàn 20
- Xem thêm -