这个qq的oauth2.1有个坑,坑了我半天,后来查了不少资料总算弄通了,现在把详细步骤记录下来。

步骤一、登陆http://connect.qq.com/

 
 
步骤二、创建应用。我创建的是wenwutest这个应用。具体的创建如下图所示:
 
 
要特别注意这个回调地址。首先这个回调地址必须与网站地址的根域名写的一样(http://m.mumayi.com),其次,这里写的这个地址一定是登陆成功后回调的地址。不能再像oauth2.0那样再写个根域名就可以了,我这里就掉在这个坑里半天。
 
步骤3、下载php的sdk
 
下载地址:http://wiki.connect.qq.com/sdk%E4%B8%8B%E8%BD%BD
我下的是php oauth2.1的版本
 
 
下好之后,直接将整个目录放到你的服务器。如下图所示:
 
 
步骤四、配置sdk
 
直接访问install文件夹,填写相关信息如下图所示:
aaarticlea/png;base64,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fxAxzpBYAABYGEgsAHLX19c3Pz9/wtlrf3/11X//mumjyurHTjy2ulIRBnlsdTvcrH7MOuX5+XkSCwAA5UJiAZA7P7G872zP31111d/t0f69ctVf//VVFe2nLkgsAACUDokFQO76+vrm5uaGjF6+/ypzl7CWbzw69PL9V33j0aGhoaGhR79hHO6q+182z2hobm6OxAIAQLmQWADkLi6xdA+JBQCA0iGxAMidn1h+WQAkFgAASofEAiB3fX19n3zyydEC+OSTT0gsAACUC4kFQO76+/tHR0enp6d/3lPT09Ojo6P9/f29Lg8AAJAAiQVA7rZs2bJt27bx8fFPemp8fHzbtm1btmzpdXkAAIAESCwAumHTpk39/f19PdXf379p06ZelwQAAEiGxAIAAACguEgsAAAAAIqLxAIAAACguEgsAAAAAIqLxAIAAACguEgsAAAAAIqLxAIAAACguEgsAAAAAIqLxAIAAACguEgsAAAAAIqLxAIAAACguEgsAAAAAIqLxAIAAACguEgsAAAAAIqLxAIAAACguEgsAAAAAIqLxAIAAACguEgsAAAAAIqLxAIAAACguEgsAAAAAIqLxAIAAACguEgsAAAAAIqLxAIAAACguEgsAAAAAIqLxAIAAACguEgsAAAAAIqLxIIyadSqlWqtYfy87tk+TTR43atUa426V7HOEAAAADkjsUDRqFUrNkL9PW5QgVdvNpt1z3Vwa5BoTU237I2a1/7UunD+9P3BDfPyE0trjqYZIrV33nlnz6uvPvnUU9/Zvv0727c/+dRTe1599Z133jEMnmC3zHTWWeyzAACgMyQWKKzNGEE13sitft+oVdWhDCM61RjF8drT0cxCtxKNWlW/wPGritSOHDny+BNP7Nu/f3h4+MKFCxcuXBgeHt63f//jTzxx5MgR3Rgd7padzDrRogAAgOyRWKDo4GJ2a1S/M5W1Tpcosdhrh5HxWtOWZiH9okyy0Wg4NBdRRc3MO++88/gTTwwMDMzMfLT/rSP/5b9+77/81+/98NCRmY8+GhgYePyJJ3TNHdm0sYizHvzpu6/vf+v1/W/95GfvWWctaSVor25OxAAAIGMkFihSXsxuj1b3KtVavdHwa5jG7ls5JhZ5FmobjUOccpwxUtrz6qv79u+fnDr3LzufvurP/7e/+N//4X+87b7/ePN/fuSJZ89NT+/b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" alt="" />
 
填写你的应用的appid与appkey和callback地址。这个appid和appkey分别是下图所示的两个值:
 
最后的callback地址,一定要注意,一定要和你创建应用时候的callback地址一模一样,否则会出现"ilegal uri"错误。这里我创建应用时的callback地址是:http://m.mumayi.com/qq/example/oauth/callback.php。所以我在这里也要填写这个地址。填写完成后,点击"配置”就会配置成功了。
 
步骤五、访问example/index.html,点击按钮,如下所示
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAUUAAAG1CAIAAADhhHETAAAf90lEQVR4nO3df3AcV2HA8e3wQ+VX09AJA06NGxwgJMBCcYuBMhA5EyidcRPGIvzoAkNMq5BqplAmgTBtJg6CWRSlTIEZQRADySgJ1IOuSAopg1OMMAEamhy9JqK1IYTEOCS9O50vPsWytf1jb3ff231vf5xO0und9zM7Geu0d1op+t57++N0lgfAFNZGbwCArqFnwBz0DJiDngFz0DNgDnoGzEHPgDnoGTAHPQPmWGXPrVs/XP/gB+uDF9S2baudMVDdfcup7mwXgOJW2fOpW3ZXLStaBi49Xu3OhoVO//aBE7NfWPzg7trZZ9Q+f6TLj17Y0tL+4doZA1XLqp61s77/f1aEzzUdS/xp1Eu5H/XYfOOSc6qWVR04o3aJ+8Sx7m83+sJq59vV2+oD4i/xQP22bgb9xEfOkp4vtl97oouP3oGDH5G2x9q+eE/0yU57fqhx8YD0sJfexjQHnUjrueLWpN/dLi2228q/ffdcK2+D1M/6a7l27NsRo+2051J9NT8iINTrPXvHju+Wx66RA6v9nlcj9fml056rxy9lfEY3bGDPybGuS4vdqKzdD2xpaf9w7axnVS2retbOxTt+3b395xdXB/z958+faHZ/u9EX6LmLOu8Z6IrcPa8qEildegbWCD13ET1jg/Xa9WGxyDtOIv5kcflcfI3qLfJR5cuOL8krHBiRtuSWqucl90EccVc3teelE9dsl593Buq3HFPeseZu0BMSNrtcPa9+Rzr3Me1u9ezdfY20zReMxjZgpeTIG3nmonzgfOnGHcJnL2w8pPxR5O15JbY9llV1SsuaO9IzOtTbPV+wWO74OzuweKa4DUGQgSdGzoxtpFzR0vHLVNvfWc9Ldy9ul38g2685saS9Iz2jQ73d82r2hJeajnhSd6AuzbgrDTuxkdLF53cvbhUCu+ZuzY8iT8+JmfbAjkZZmtzTM7qjg55zzoGVx8AyJYfNjp8yYteWR016nvfQhOIZ6syRJ9QrCFPx4j0nZtpn1vfHr8+mZ3RHr/Uc+80usCRf2hU74nXhxJPBZ6LUt76hFo3DwvR+7nJhOHWa4WhatOelA4tnydsp7Dbr7kjP6JA5PTvJzXqocaE4y42ybF4eTMUv/MjiDiGkifZOdmv0AvUzRbGel54YkV9PYo+2YkfRVXekZ3Sox/afVbu1nfcc2xvfutiecUf7xrXR8olrtooPsuJ5nlc9vlsRuepHkdrziHTGK7nbrLsjPaNDPdazdBRK2qHN3CpVz7GzVu0yozueuXhAnlpvveaE58nHxuVjckV6ji21sQd03wo9ozt6q+fYYaodN6qHM9VWSYe7IvJZq8v2r3jekxMXBgOm01yK7WbvaCx43sKN0SO3C9f9KNJ6rtnyNS0DO3SH6+kZ3bF2+88dOHXbpVIA6S+NjPWsbmCpeYVwwHzrNSfEE8vtHWNpN7u+f2ll/2XabSg0395fXoztPuxw2X/GGuqlnmMvAx6ol9KGZ2merG9Avg5sR2MhGrHVR79GDggfJrah4PHtlfJobGpTGy2veHH0jO5Yp/l2nieC+FfZnfGnyOQLNms3LqhXk89a1UfDwMLDY/Kl2juuXQwPholnqtQbmXn+eak1GnvZyVn1ufg3Rs/ojp7pOfF3SDL/Rofcs/7Bpel0tE8rHmxbKkV/BW3r7no4SU6e0+7g+rClxKz7LKcpX1FCz+iOHul5OfnqiO+kTrbjr5dIe3D1CzPbp6Z88pnqsKuJh+KP1dH128lZd/Wy/cv6O9IzOrS2+88573isVI9dRJV9PFw+0CVOnpOSr20KX/8YUDWvunq8w9dXJWfdA7UbK7o70jM6tPE9H/vO4kvlmbZ11uKBcHBeOvXwr05W5bG6+dsTX7msNpDVXkQ+ra1cP9l87EyV6jsq8Prn5KxbuLyEntEdG9vzyq/vSMRsVS+fE/ZapUu19EvGwbP4yzySrYq70P6iPFvW+d8zUM26g8s/6RndsYH7z8vzbnyabSnO0Eonk3QLf7Aa8Daw58a/KWJOHPj1vPjf/VEtA7WJDX8fHKAHbOTx7dhhsGe9Xv1yhfgf+krEfLniFYhAP9L23I2AWVa1rOfvAcxAz727rOfvAczQa3+vF0Dn6BkwBz0D5qBnwBz0DJiDngFz0DNgDnoGzEHPgDnoGTAHPQPmoGdkW1nQ/PFU9Bh6RobTBw+uLC5u9FYgF3pGmtOzs6d/+tON3grkRc/QOj07e+r22zd6K1AAPUPt9Ozs8r59G70VKIaeoXB6dvak47DbvOnQM+JOz86e3LVr5ec/3+gNQWH0DMnp2dnlnTtPHzy40RuCTtAzIn7Mp7785Y3eEHSIntHmx7x89dUbvSHoHD3D84KYT15yCcfANjV6RhAzx8A2P3rud+1p9s6dp2dnN3pbsFr03NfCmE999rMbvS3oAnruX2HMyx/60EZvC7qDnvtUGPPJXbs4BmYMeu5H0ci8cyfHwExCz31HjJljYIah5/4ixszLp8xDz31EjJmXTxmJnvuFFPOuXSuPPLLRW4Tuo+e+IE2zd+7kTwiZip7NF4uZPyFkMHo2XCxmXj5lNno2WSxmjoEZj56NFY+Zl0/1AXo2U3yazZ8Q6g/0bKBkzPwJoT5Bz6ZJxszLp/oHPRslGTN/Qqiv0LM5FDFzDKzP0LMhFNNsXj7Vf+jZBMqYeflUH6LnTU8Z80nH2ejtwgag581NHTN/Qqhf0fMmpp5m8yeE+hg9b1a6mHn5VD+j501JFzPHwPocPW8+uph5+RToeZPRxsyfEAI9by7aaTZ/Qgie59HzJpISMy+fgo+eN4eUmPkTQgjRc89ZeeSR5euvF29JiZljYBDRc8859fWvL+/cGSadFjMvn4KMnnvO8tVXt4u9/vq0aTYvn0ICPfeckxddlNJwdAyMd2BHAj33ltP33JMnZv6EEJToubec+uxnM2PmTwhBh557y8n3vjezZ46BQYeee8jK4mJmzBwDQwp67iHpR7Pby1VXMdmGDj33kOVPfjLPwbCTF13Em11AiZ57SM4zVctXXMGrL6BEz71iZWEhu+R9+1aOHt3oLUXvoude0b7Mk5KxCvTcK5avvFKxq7xr16mbbuIAGHKi556QPFNFyeiAtufDjx+/6Tv3XXf7D5TL9f/yQ3HRrXbd7T94zlUs6uXNn7tv/kjd/2mf/t73xMu/OMmMzmh7vqH0k1rrydap06tcXvjF37Iol+ePHz5334/8n7Z/mSclY5W0PV93+w9WH3Pr1GnrH/6DRbk8ffRnz/77u/yf9vL113MKCqtHzxu5hD0DXdFJz5X7Fz7+iX0XnP+al5z7xy8657zL3vlX84cO0TM9Y8MV7vnO7xy4+M/f//rXv82POVxu/8Y36ZmesbHSej6xtBxbHqvWB3fted0b9hw6+F3P8yzL8jzv0MHvnrPt3HO2nXvkwV/5DYt3SfuFvvKAdtGtlvIIKY/s35J/G1K+hPLR8nwXquWZf8vRL3RTsZ5v/8Y3zz/vdW9641s9z7Ms6++u+7yftN/zR6/6mKLnj/9Qt6RtVrjalQek2688kOdTyUeLHlN8BM026FYIH6e9TvBQ2d+FZqFndFexnvdd9+nt2175losvUY7PH9h7RSzmzJ4z/n3lAS9RV7uilE/JvXlygYp76bcqetjgjv6H0X+FJ5fYknxkesZaS+t5sbW82JLivHrb2du3vfKY+wzv3hd497/Wu/dl3oHnPnbbgPfJp7zsnHPe/QdnPP6LI/H95/Sexd/+RAmeKgkvNt6qUhTX8WId6rdB12H7JyVvqpfIXvHDzer5GcPTXfm/CPiyew6Xhe/eddefvvjOM37/5rOfc3JswDvwXG//U72Jp50cG/jq1mff/LznffvVL777k//olx/eK71n7WatQc+6u+i+ujj2KtYJ5+2anWcvfApI6fmv9+f5nwTkVKDnWycmD55/tvfMZ1Ze/ZJr3/rym857/hdf8dwvvuK533jlloMvfkHthc8bs+1Pffgqf1jO2XP6v71u9SyP/+GMPWMJ1onfV7wx9Vmp/SPW/wR+9/JbV/s/EBDk7fnIg796zWsuHHv1BY9u+b3a+Wec+ItXrLznz7y/fIV38YtW3nT2Y298UeXcF75s2/nnn/e6+UOHxDtaH/2+bvFS5tvhCsp7pX4qto7629bcrlxHuXJsG9rbL/xD/EZ0Cz2ju9J6rrWeDLMc/dQ/nX/e697y5osOf/mm+15yRuVVz69e8ifH/2b3/9147bFv3Pybn/zosWr9j/7wpS8657yPf2Jf/p61mxVGsvcO6V577/DCljSfSvac/Syw9w5pyVon5XHa269Zh56xpjJ6Dpd3v3Pv9m2v/NgV73vy6NFHXrv94UsHT5xo+YvneSeWlh+rP/GuN56/dcv2PXveXWB8zvNvTUgZnxICi92S+bSS56knvk6wDSlfKLkMvO+rnf+vAxLy9vyBvVe88x0fuGXf7lPHm6ffcsFju18vrlxrPXn08dpHht+1Z8+73/e+vYut5fCO1of/Xb34pQUf6v7tfxhtrvwgKZ8Sh8r2Y4b/0G2S6qtHN+69Q7nlUsnC3b3w6Ub/tegZ3ZW35/sP//Lo47WZz+z8r//9dTgs+2qtJ48crT74q19/79OvPfp47f7DvxTvmDOb9ofhSKsrSlWI4lPCg3hBZuE/1I2J43zixvbt8j/CJwjdxkef0ixPf8+XuvE/EWhL6/nRZitcFlvLj1Xr9/zzy3956+4f/ezIY/Un2leA1p84crQ6f+jQ4S+99u4bXvWbh46EM23/joV6jjZLcxfdZ2OfSq7jyZnlfPDsH1++zaNnrI+8PT/abD18713e4bd7977gv93B73/l6tnZb//4xz+d/9ebj06/vXHnFu/w2w9dfe7D997lD8vhvfL/cvfh8rTLvrCe/7NhvAI9P9ps3X/nVx+cfMcDn7v4gRv23Petry22lu/71tceuGHP/Te87cHJd/ziwFdjMT/abGWf5u3j5al7eM9XdFOBnsW94pQldq8Nb6aXF3pGd6X1/HD9RHKIVratW42e6RnrKe3vAf782KK4HH78eJ4ldq/4pRoswfI7e/dvu3xiPf9nw3jano8crd5Q+knmX+rN/Ku9T7nkMyzK5ez3f+HO//zFev7PhvH4e/qAOegZMAc9A+agZ8Ac9AyYg54Bc9AzYA56BsxBz4A56BkwBz0D5qBnwBz0DJiDngFz0DNgDnoGzEHPgDnoGTAHPQPmoGfAHPQMmIOeAXPQM2AOegbMQc+AOegZMEe+nqenhgZnytHHC5ODY6PTa7RJ+c2PbsmxGfGNnx/dMjFZ1q/ftjA5ODYyvrCqDQTWl7bnueGxoS25l+H58vhE7vWn5tpfZH40z/pSjZLy+MRQRpyKLMvjE7rHzP6u9RsDbLiujs/iauWZkS1Tc348w/Oah0oMsPEvFGtvYXIwu3+pXn8zyjMjWc9H/upzw6ljcmLzgJ6ymv3nhclBeWxU9RxrQM67k55TJ9jx0XhueEx6NsnC+IxNLaVnoY0wTl95ZsSf5U5PDYlBTk8p5tXyfeUBcI17Ls+MhMN1fNvUiTI+Y1PLGJ+D8WpisrxQjgZZIdHpqWgAVI7P0vGn2LGoovvPxXr2N77QMS3GZ2xqaT2Hv9yj0156e9EYqOhZGPQUh5rXbHyenhoanBoNPkw7XMf4DFPoel6YHAx+0ZO/xLFptny74jh28AiJWtbweNjc8MRkufA5J8ZnbGrZx8P8kU2szr9F0YlmfG53Ox7sdUcSp4Izes484RwLuJOeGZ+xeWX0XB6fGNoyNToci2Risjw/Kh4h82l7Dobu2KHmzNNI8SEx56UgIXn6nXWyKkH1PQI9LOP49lDiHHL4b8VQ1u5Z3tMOZtqKIX16aigWTPr4HHuOyBbrWXFf8VsLTm4Fzxrlhbnxidi95oZ74cI4QC31+rBEw3IV0uxX2POMnaYKnxfmR7ckTg4n98z1Padc16VRpOfwJJw8CyiPTwQ75GNDwzPl6ZmRPBeZAhshz/Uk7SoUF1eKJ3hjxAuz5B1goZ9EGMqe208rHVxQnb/nhcnB8PlLuZcu3FieGWEvGj0p1/mqocGZ5MwzICQqCveN459qlxO/DtQX9CyeXmpXpAkyVYf7z+qTWzSMnqftOfswVX8v6/k/CciJ1z8D5qBnwBz0DJiDngFz0DNgDnoGzEHPgDnoGTAHPQPmoGfAHPQMmIOeAXPQM2AOegbMQc+AOegZMAc9A+agZ8Ac9AyYg54Bc9AzYA56BsxBz4A56BkwBz0D5qBnwBz0DJiDngFz0DNgjpSeW65ddUoFH6/SsO1Gpfh2lJyq7bbaj2DV3DwPUapbHX0twFRpPVfcumW1Mys5VcvSLE4zulNnPZfqllUPnzpKjvyYWk0n2DwAXvZ8Ozlapo+fip5brh17CqjLo37TseSJQKVhW/GpQcWtaZ9QEguRoz8V3n+uuDXlLFfZm+224vP2SsOWem65tmo0LtWtnLNuAAFtzxW3FmaWNTYKfQoz52CXOKXnlmtXdfvA/hctOkoX3uEHDKLvudJwEnPjkuPn13JtzZy2QM9pMQuPJo3eutmBFzwgPaOfpc+35cmwOAfW7UXn7jn3QS8pe8ZnIEXu/edKw44dZ5IPSkc3Bu3lnW+n9MnpKKCIfD2XohNXYrEVtxY7aiXOh0uOn3H68TCfYqqsGMD96TdHtgGN9J6bjlV1XPnsUewqDvnckhBhmGienptOYvaee0LenoRTMpDas7STHBwDK9Utu+E6VctpJpITzyQX6Fl5lCtPz5QMiNJ6ljIL95b98bn9YfKAmbRvnKtn1dUjXuIQetoFaumXrAF9I63n6Jpqsa72fDsYioUa5RE1nEKnXR/mV6o4KK2OPLGWcJIcQErP0eS54tbCCMNBOz4fDs5mRQNpfEfav38wPifOLccPd+UIlZ4BkbbnApPbnlzW84cI9Ahe/wyYg54Bc9AzYA56BsxBz4A56BkwBz0D5qBnwBz0DJiDngFz0DNgDnoGzEHPgDnoGTAHPQPmoGfAHPQMmIOeAXPQM2AOegbMQc+AOegZMAc9A+agZ8Ac9AyYg54Bc9AzYA56BsxBz4A58vU8PTU0OFOOPl6YHBwbne7G1y/PjGyZmuvGI3X49ccn5G9NMjc8NjK+sK4bBKyCtue54bGhLbmX4fny+ETu9YWAxZ7LMyPp68dXmJrT3eh53vSUbgPERIWe50fzbv/EpO4JANhQXR2fxdWCUMvjE0PD89qHivecGKt1K0xPCT3nfoTE9jM+wySr2X9emByURypVz7GAw7yT4/no+Jr0rGqSnmGmlJ4XJgeD3+ZYJ+WZEX/OOT01tEUYqONT3ERvyULCLJNfJXljJz3HZ9Ej4wu6nnPuMlA4elbG+BzsRU9MlhfK0SArdxVOp5Xjszc/Gu1wiv/2vHZChfafi/Usz/bDjBmfYaa0nsNDYqPTXvrhovYvvbpnoYr4frj/mBMj/rw9dXwudnwuOsQlPH1Ej0/PMJOu54XJwaCKeISJabZ8u/pQ8+BMWTnZHpwY2TIxOT41tGVicrrL8+3Yl5sbHgvGakXPRY7PEzl6VPbxMP8XXazXv0XxO60Zn/1xeHQ82OtuW5gcFBqenhoZnupmz+2NEacV4VfPMz4vTA6OjQxPjehHb6DXZPTs79+OSgOdf1h7fjTZnrbnYOgWTly192wLnX8WHz+r57lh8bljfnRL7FtI73l+NNhaaZAvz4woJyZAb8g4vj2UOIcc/luxb6kYEsfCmXZsSG/3VuTssXRwK+hZClJ9tZmw7yDcou3Zf+qJblyYHBwbGZwIn1nKZSbb6FGp14clGpZOL/mz6GlhffVpqvB5ITZI+g+dv2fh/Fm0JfKNuvNV+jmz3HP7mWh0WHHcjmEZvS/P9STtZsrjE/FLHcszI7qDQ35a/hQ6Fox4uVj+nqWnkuBDxYnxxCQ/dQdYnG5Ehwmiif3C5OCYsAJXeqKn5TpfNTQ4MyeeKJYkEvWFO8PxT0WFBKvl2n8uj09EM+TgkcvjE/6zibip4nOH7kC0ePZLc+Hq1OhgMmB/rqH6foEeoO25wMnevlzW838SkBOvfwbMQc+AOegZMAc9A+agZ8Ac9AyYg54Bc9AzYA56BsxBz4A56BkwBz0D5qBnwBz0DJiDngFz0DNgDnoGzEHPgDnoGTAHPQPmoGfAHPQMmIOeAXPQM2AOegbMQc+AOegZMAc9A+agZ8Ac69Bzy7WrtttSf7LSsK16ae03AugHuXquuDXLUjdZcWuW3agE6wRLza00nehDcZHrFXuuNOz0u8RXqJd0NwJ9KUfPpbpl1dxSw7aqfrqe55Wcdt5hz9HqTlW+RRifk6NxvOdEjboVSnWh59RHAPpGRs8VtyaMeC3Xbg+A2p7bmflr6henKY/nVcuqOi49A6uS0nPLtauW04zd6gfsKnuuNGyr6sR7Sh2fwyyVn/XoGShA23PJqdpuI7kP7JepGp9jx71y7T9L43+u/Wd6BrTS59tNx6q5wq5wmLGiZ6lG8V4p47PffM22a24lY3wuOakT+Ngi79IDfaJQz1GZKcfDUu4VV6pbds22aq4bHnJjvg10rnDP/u5xsucobL807eQ53MFuubbQcKluO3V6BlajSM+Vhh18qJlv19yKV3Fr8lE09fjcXq3Q+edSPZoL0DOQkKdn4eRTEKpyvl1yqpZd8w9xp+7u+vvDiX3mrOPb0jNF0HPiADs9o38VOx6WHGzl/eemozgWlft6z4ye5ccRTnRHN9Iz+lvRnuO3iGOmeImIEHCXehbPVHviXrpwIz2jv2VcH6aYNjvN2O3hEbLYhSXp14d50Zq59p8rbs3/QtGzhtOsuLXweDtnqgBtzwVO9vbksp4/RKBH8PpnwBz0DJiDngFz0DNgDnoGzEHPgDnoGTAHPQPmoGfAHPQMmIOeAXPQM2AOegbMQc+AOegZMAc9A+agZ8Ac9AyYg54Bc9AzYA56BsxBz4A56BkwBz0D5qBnwBz0DJiDngFz0DNgDnoGzNH9nuV3ePffBTb2JtLi2kXfsVn5btKpbzEN9I0CPVfcmpXdXjytjHvlfv9n3ePrbwT6Trd7Dkbj6F3XFYswXMd7Tjx+/EZ6BrS63HPFrVlOU7ih6VhVR3WfZPCOS8/AqnS355ZrV6WeS/WMu4gr5B6f9SN/sEjPKUC/KNqzIp5o+C3V2y35/0hZggNm0nNE5/vPADyvq+Nzy7VrjiPOt7WTbXEFy6rZds2tFBifUx8T6F9d69nfc5b2n/NMtu2abdVct25ZNbdEz8CqdK3nklMvycfDtIe425PtlmsLDZfqtlNf3f6z/iw30B/W+vi2rFQP97fbaxY+/9x0lN2mX7UC9Ie16zlx4KrSsIXd6ZKT2GfOs/+su56MnoE1Hp/9uXG95LVjVhyXLthz/GJSaTV6Rr9b+/l2cO5KfZKpWM/6g2H0DKT0nHrBpvb6Dc3+szBQx79Mgf1n7eDs0TPgeSk9F4i5J5f1/CECPYLXPwPmoGfAHPQMmIOeAXPQM2AOegbMQc+AOegZMAc9A+agZ8Ac9AyYg54Bc9AzYA56BsxBz4A56BkwBz0D5qBnwBz0DJiDngFz0DNgDnoGzEHPgDnoGTAHPQPmoGfAHPQMmIOeAXPQM2CO9J5brh2+b7P4b6/kaN7PWZZztY5p3p4W6FOpPZfqwps2Nx0rfC/1VqXSdIR3Zg5XyPdmrtEbNWe+y3T60wE9A6K0nktO9EbtqjdMl0Zs3SNkB6l7i3b58Qu9v/yaTgqAnpXSc/7xtqobJLvYs/bujM9AIOfxsOy0vNxDqPg49Ax0Uc6em058sp0L4zOwnnL1nDbwamv0vK73XKrnGf+dkvrhAOPl6bnl2lXbqduJkVA8YNbZ8apVHd+uNOzUZxOg3+ToOThrVXLkKbfiiLcoeBZITa74+FwveS3X9gfhxAoUjv6W2bPQjFRLy7W1h7Xbx8adphebclcatjwfLtRzsLcc9px8Tsl13A4wVUbPFbcmXjQSHn+K3S7x93Ll8m3bn1fXS55XqXR2fDv8UOhZjtx2W1mzBsBkqT0nhlMv2uNVNtM+Ze04dblS8dqyxKPl7DkKVepZ+BLtTeKgN/pWxvUk8ty15dpVy6raTj05BpYc4dhyKew5mpaXHMWzQLHrw4THjPdcadi6+QLQN7Q9Sxd7hteKRbe021afHCrVLbvu2MmA2/fKf1RcvTOsOnHFbjOg7Tn/yafeXNbzhwj0CF7/DJiDngFz0DNgDnoGzEHPgDnoGTAHPQPmoGfAHPQMmIOeAXPQM2AOegbMQc+AOegZMAc9A+agZ8Ac9AyYg54Bc9AzYA56BsxBz4A56BkwBz0D5qBnwBz0DJiDngFz0DNgDnoGzEHPgDnSexbfgVl6N+aSk+v9WdNXKznS283GPvS8lmtLbzdbdH2g36T2XKpb0ZukN53o3Z5blYr/jtDiW6gH7xGdvQTVVRq2+L7NlYb4NvElp2rZ9ZLYZ9H1gT6T1rP0lu5yPJ7nxUZs3SNkDOPyw1bcmv8VK25NfrLodH2gn6T0nH+8FbKX5ZyWe+0g1Q/uqDItuj7QD3IeD8seir3UxsRF+TjhSJv8utqei6wP9IOcPTed+GQ7F/343HJtaTjN6rPo+kA/ytVz2sBrN1Iyz5pvR8fY8vVZdH2gv+TpueXaVdup24l+xANmOSfb8pSbnoFuytFzcNaq5MhTbsURb1HwLJA2gMt9Zh/fKro+0F8yexaOhFUaQpwt19Ye1m4fG3eaXmzKXWnYKX06zfC5o+LWLLtRyRyfM9YH+ktGz7HzurnO95bq8n51y7Wrtu0Pp/WS51Uq4R61eI1KcF+7UYn6jCm6PtBfUnuOD6eeF010lTPt9ilrx6nLdSU6jN1eqvtjeLhDLvYp7CoXXR/oL/8PjYNQStSqk+8AAAAASUVORK5CYII=" alt="" />
 
这样就登陆了,登录成功后跳转到我们之前设置好的callback地址。
官方sdk的callback.php文件内容如下:
 
<?php
require_once("../../API/qqConnectAPI.php");
$qc = new QC();
echo $qc->qq_callback(); //返回的验证值
echo '<hr>';
echo $qc->get_openid(); //qq分配的用户id

代码很简单。其中重要的是这个openid的值。一般可以将这个openid和我们现有的用户表做个绑定(如果用户有账号,如果没有,可以完善信息)。

到这里登录就基本完成了。下面我演示下如何获取用户的基本信息,代码很简单:

<?php

/*
*调用接口代码
*
**/
require_once("../../API/qqConnectAPI.php");
$qc = new QC();
$arr = $qc->get_user_info(); echo '<meta charset="UTF-8">';
echo "<p>";
echo "Gender:".$arr["gender"];
echo "</p>";
echo "<p>";
echo "NickName:".$arr["nickname"];
echo "</p>";
echo "<p>";
echo "<img src=\"".$arr['figureurl']."\">";
echo "<p>";
echo "<p>";
echo "<img src=\"".$arr['figureurl_1']."\">";
echo "<p>";
echo "<p>";
echo "<img src=\"".$arr['figureurl_2']."\">";
echo "<p>";
echo "vip:".$arr["vip"];
echo "</p>";
echo "level:".$arr["level"];
echo "</p>";
echo "is_yellow_year_vip:".$arr["is_yellow_year_vip"];
echo "</p>"; ?>
 
运行以上代码显示效果如下:
 
 
是不是用户名和头像都得到了,做登录够用了吧。想怎么扩展自己去写吧。
 
希望能帮助到有需要的朋友,欢迎留言和我交流。

在你的网站实现qq登陆(php)的更多相关文章

  1. 网站第三方登陆(一) QQ登陆

    QQ 登陆是指,通过qq的用户名和密码,登录网站,不需要注册,网站的用户名和密码.如下图 一旦你授权了,就可以进入网站了,要实现这个效果 1.去qq互联平台(http://connect.qq.com ...

  2. QQ互联OAuth2.0 .NET SDK 发布以及网站QQ登陆示例代码(转)

    OAuth: OAuth(开放授权)是一个开放标准,允许用户授权第三方网站访问他们存储在另外的服务提供者上的信息,而不需要将用户名和密码提供给第三方网站或分享他们数据的所有内容. QQ登录OAuth2 ...

  3. C#网站实现QQ第三方登陆# C#快速开发教程

    C#网站实现QQ第三方登陆 说起在网站上面可以直接使用QQ登录功能大家并不陌生.但翻其官方提供的SDK包中却没有C#方向的. 但是我们有个牛人叫张善友,做了一个民间SDK.下面我们就是用他所写的SDK ...

  4. QQ互联OAuth2.0 .NET SDK 发布以及网站QQ登陆示例代码

    OAuth: OAuth(开放授权)是一个开放标准,允许用户授权第三方网站访问他们存储在另外的服务提供者上的信息,而不需要将用户名和密码提供给第三方网站或分享他们数据的所有内容. QQ登录OAuth2 ...

  5. 如何用php实现qq登陆网站

    PHP网站入QQ互联,使用QQ号码登录网站. 平台接口系列文章 PHP网站入QQ互联,使用QQ号码登录网站 PHP网站接入人人网,授权登陆 php facebook api网站接入facebook 1 ...

  6. 网站添加第三方登陆(PHP版)

    这两周正在写毕业设计,我做的是一个问答网站.先介绍一下这个网站:这是一个关于大学生在线问答的网站,类似知乎和百度知道,不过功能没有人家多,毕竟这个网站我一个人在做.网站部署在阿里云,网站包括API,W ...

  7. 网站集成QQ登录功能

    最近在做一个项目时,客户要求网站能够集成QQ登录的功能,以前没做过这方面的开发,于是去QQ的开放平台官网研究了一下相关资料,经过自己的艰苦探索,终于实现了集成QQ登录的功能,现在把相关的开发经验总结一 ...

  8. phpcms V9实现QQ登陆OAuth2.0

    phpcmsV9使用的QQ登陆依然是OAuth1.0,但现在腾讯已经不审核使用OAuth1.0的网站了.这对于使用pc的站长来讲是一个无比巨大的坑.经过对phpcms论坛的一位同学做的插件进行修改,现 ...

  9. 对163k地方门户网站系统QQ互联功能修改

    163k地方门户网站QQ互联申请时遇到的问题: "禁止开发商强制用户重新注册或绑定其他帐号" 原因是用户登录完QQ还需要注册帐号或者绑定原有帐号 163k地方门户网站的QQ互联登录 ...

随机推荐

  1. String的replace和replaceAll

    replace(CharSequence target, CharSequence replacement) 这里CharSequence是一个接口 实现类包括CharBuffer, Segement ...

  2. Spark sql ---JSON

    介绍Spark SQL的JSON支持,这是我们在Databricks中开发的一个功能,可以在Spark中更容易查询和创建JSON数据.随着网络和移动应用程序的普及,JSON已经成为Web服务API以及 ...

  3. 用python的TK模块实现猜成语游戏(附源码)

    说明:本游戏使用到的python模块有tkinter,random,hashlib:整个游戏分为四个窗口,一个进入游戏的窗口.一个选关窗口.一个游戏进行窗口和一个游戏结束的窗口. 源码有两个主要的py ...

  4. Football 概率DP poj3071

                                                                                                 Footbal ...

  5. C语言判断电脑的大、小端机

    #include int main() { int x = 0x1234; if (char(x) == 0x34)  {   printf("小端机!\n");  }  else ...

  6. Python自学笔记-paramiko模块(Mr serven)

    文章出处:http://www.cnblogs.com/wupeiqi/articles/5095821.html SSHClient 用于连接远程服务器并执行基本命令 基于用户名密码连接: #!/u ...

  7. Python实战之IO多路复用select的详细简单练习

    IO多路复用 I/O多路复用指:通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作. select   它通过一个select()系统调用来 ...

  8. python netifaces模块

    简介 在Linux系统中,我们可以通过ifconfig,route等shell命令来查看系统接口配置,网关和路由等信息.通过shell的正则表达式功能,通过系列复杂操作,我们可以从字符串中提取出相关的 ...

  9. mysq参数sql_safe_updates限制范围

    在mysql运维中出现过不少因为update/delete条件错误导致数据被误更新或者删除的case,为避免类似问题的发生,可以用sql_safe_updates参数来对update/delete做限 ...

  10. HDU1024 DP的优化 最大M子段和问题

    Max Sum Plus Plus Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others ...