社交网络服务网站PPT幻灯片

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

素材天下网sucaitianxia.com[PPT模板免费下载无需注册](i.e.userengagement,viraleffect)3GettingStartedStep1:RegisteringapplicationStep2:Setting-upapplicationStep3:AuthorizingapplicationStep4:AccessinguserinformationStep5:InteractingwithFacebookStep1:RegisteringApplicationAddFacebookdevelopapps@(Mobilephoneorcreditcard)Createyourapplication!GetauniqueapplicationIDandsecretHerewegosource::iFrameFBMLTinyscreensource:素材天下网sucaitianxia.com[PPT模板免费下载无需注册]iFramevsFBMLiFrameBenefits:Scalabilityinthelongrun(i.e.easytomovetoFacebookConnectwebsite)LetyouuseJavascript,HTML,CSS(Ajaxanyone?)EasytodebugFBMLBenefits:EasytoaccessFacebookelementsFasterloadsNote:FBMLmightbedeprecated9Step2:Setting-upApplication-CanvasSetyourcanvasname(Veryimportant!)EasytorememberBrandingperspectiveExample::!!DevelopmentenvironmentassumptionJavaStruts2TomcatmySqlMosttutorialsandexamplesonthewebisinPHPStep3:AuthorizingapplicationIsitrequired?No!BUTitisnecessarytocreateapersonalizeduserexperience(i.e.retrieveuseremailaddress,posttowall)Appcreatorcontrolsthedegreeofpermissionsrequiredduringauthorization13Tellmehow?CallthefollowingURIonyourdefaultindexpageuponload=YOUR_APP_ID&redirect_uri=YOUR_URLOr,appendspecificscopeparameters=YOUR_APP_ID&redirect_uri=YOUR_URL&scope=email,read_stream14Addthisapplicationsource:=text/javascript!--%Stringuri==12345678910;Stringperms=email,user_birthday;Stringurl==+perms+&client_id=+appId;16Samplecode-Part2if(uri!=null){try{uri=java.net.URLEncoder.encode(uri,UTF-8);}catch(java.io.UnsupportedEncodingExceptione){}}url=url+&redirect_uri=+uri;out.println(varurl=\+url+\;);%if(url!=null){window.open(url,_parent,);}--/script17What’snext?Havetoknowfact!Facebookpassesuserinformationintheformofsigned_requestparametertothecanvasURLThissigned_requestparameterisabase64urlencodedJSONobjectHuh?Simplysaying,signed_requesthastobedecodedtobemeaningful!18SuperSecretsource::=null;StringsignedRequest=request.getParameter(signed_request);if(signedRequest==null||signedRequest.length()==0){log.error(AUTHERROR:Facebooksignedrequestismissing);returnERROR;}intcount=0;Stringpayload=null;22Samplecode-Part2//BreakthecodeusingtokenizerStringTokenizerst=newStringTokenizer(signedRequest,.);while(st.hasMoreTokens()){if(count==1){payload=st.nextToken();break;}elsest.nextToken();count++;}23Samplecode-Part3//DecodeBase64BASE64Decoderdecoder=newBASE64Decoder();//Replacespepayload=payload.replace(-,+).replace(_,/).trim();//DecodeBase64-payloadtry{byte[]decodedPayload=decoder.decodeBuffer(payload);payload=newString(decodedPayload,UTF8);}catch(IOExceptione){//TODOAuto-generatedcatchblocklog.error(ERROR:UnabletoperformBase64Decode);returnnull;}24Samplecode-Part4//JSONDecode-payloadtry{JSONObjectpayloadObject=newJSONObject(payload);//ParseJSONdataaccessToken=+payloadObject.get(oauth_token);//Retrieveoauthtoken}catch(JSONExceptione){log.error(ERROR:UnabletoperformJSONdecode);}25Step4:AccessinguserinformationThesimplicityofGraphAPIRESTstandard,returnsdatainJSONformatTrythefollowing://graph.facebook.com/me/picture26UtilizingaccesstokenMoststillreturnsinformationwithoutaccesstokenBUTDataislimitedtopublicinformationTrythefollowingwithaccesstoken=WHILESomestrictlyrequiresaccesstoken=27TheJavaWayEasywaytoexecuteGraphAPIrequestGenericfunctionssupportedGettheAPIfrom=newDefaultFacebookClient(accessToken);JsonObjectfbUserJSON=facebookClient.fetchObject(me,JsonObject.class);StringfacebookId=fbUserJSON.getString(id);StringfirstName=fbUserJSON.getString(first_name);29Step5:InteractingwithFacebookAccessingpopularFacebookfeaturesCl

1 / 34
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功