Yahoo!ボックスAPI Hackathon向け資料

55
Yahoo! JAPAN Yahoo!ボックスAPI Hackday資料 ヤフー株式会社 スマートデバイス戦略室 スマートデバイス開発本部 開発2部 瀬川 秀樹

description

 

Transcript of Yahoo!ボックスAPI Hackathon向け資料

  • 1. Yahoo!API Hackday Yahoo! JAPAN 2

2. Yahoo! - - - Id API - API 2 3. Yahoo!Yahoo! 3 4. 10004 5. 5 6. 6 7. Yahoo!API7 8. API 8 9. 9 10. API 10 11. Yahoo! JAPAN ID !11 12. ID 12 13. 13 14. & 14 15. LINETwitter 15 16. Yahoo!API 16 17. Twitter 17 18. 19. 19 20. 20 21. 21 22. 22 23. 23 24. 24 25. 25 26. 26 27. 27 28. IDID Yahoo!ID 28 29. APIID 29 30. ID30 31. 31 32. YConnectYConnect OAuth2.0 http://developer.yahoo.co.jp/yconnect/ WebAPI 32 33. YConnect Yahoo! 33 34. authorization) // 1. $appid = 'dj0zaiZpPTZqSVJ5TW80NHh---------------'; $url = https://auth.login.yahoo.co.jp/yconnect/v1/authorization; $params = '?response_type=code+id_token&client_id='.$appid.'&redirect_uri=oob&scope=openid&nonce=aaddee'; $url .= $params; header(Location: .$url); // Yahoo! // 2. $appid = YJDNID; $secret = YJDN; $code = 1.; $url = https://auth.login.yahoo.co.jp/yconnect/v1/token; // $params = 'grant_type=authorization_code&'; $params .= 'code=.$code; $params .='&redirect_uri=oob'; $headers = array( 'Content-Type: application/x-www-form-urlencoded;charset=UTF-8', 'Authorization: Basic '.base64_encode($appid.':'.$secret), ); $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url_token); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_POSTFIELDS, $params); curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); curl_setopt($curl, CURLOPT_VERBOSE, true); $result = curl_exec($curl); curl_close($curl);34 35. string(1249) "{"access_token":"6GMsysoGhJvbEry5lYWU2ea3XsE7T4_xDq0tfAA1_AY5KiciO4QCCZEvrHUYUxySI43Vg4 rbdaQsdHrB0SmRDvjM.v4vBmWA8rmeX4qZzkqbt9BO9vZdoyfCYfDveBKN2ob8aatXQVECksRTH3WOQDFj CcmRwnlgWCq0vyn. 1qs2Lm4OABpvyJ60bNclYp4bYnLnfg_2CWlSasQMzZFNddtRjd5HawBfe9nKUUfUOrybyqdefOKqR8B8lyHXT 92X1OL8w9vmEbsEA2wmYHek3yzM93RuhpstpEANARSI_JYX.vZLDrYuugFoP8S.Nr6rilL. 8SNyAI5XnSJ8vnjKl5q8Y_ly9kLKxWW1q8ftj60v1uK.hHVn21iV8hVy.LXuX8LcHYhKr2OBB4PHfJBRGCvbPay rY3mmOL63C92Duo_Tnwqwymf6SQxWQu6O4KA8S0OgVJWFIsVaSxOtEcQwTJIc.RL1bvr6pQuysvEce5ZM PWZi.U_6XqTFNLval1.OnqKWYSe0RQHK8Cj05GmoWRe7X7pCzwG2_pr0RLwjhlDkem.QXBDVpTahiLPEYK C1O3s4rcuDVk4bPK4VaSX05EHnXHUn0oy5mjTZMaYULicpVw68K1nR5rpZ28VSR1BRiIPKcfCDdkTFx831p B8CAALH67sKFJqGnvSonj6xoSwHDUoltpdBusP.Tw6okLb9HcpHEPLLFIweQwHyrg_A7SC8E7_VVBsG_H7h DLjpq0Yo5gltrkE","token_type":"bearer","expires_in":"3600","refresh_token":"AJ5F3lI20AJ. 0kMFVZbABthjxGgNawjRERcbid5JFvhDdDsDovfP","id_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.ey Jpc3MiOiJodHRwczpcL1wvYXV0aC5sb2dpbi55YWhvby5jby5qcCIsInVzZXJfaWQiOiJTVlE2WlI3V1lMUFlUTj NPVEtURVROMkdEUSIsImF1ZCI6ImRqMHphaVpwUFRacVNWSjVUVzgwTkhoTlZTWnpQV052Ym5OMWJX VnljMlZqY21WMEpuZzlOVFEtIiwiaWF0IjoxMzkwOTA0NTE3LCJleHAiOjEzOTMzMjM2ODQsIm5vbmNlIjoiYW FkZGVlZmYifQ.H0qnX_1PuxbmD4F_YLa1IA-GCNqw5byLiciSM9VXxwQ"} acess_tokenrefresh_token access_token3600s access_tokenrefresh_tokenaccess_token refresh_token35 36. GuidGuid Yahoo! JAPAN ID Yahoo! JAPAN IDID YConnectUserInfoAPI http://developer.yahoo.co.jp/yconnect/userinfo.html36 37. UserInfoAPI GET NG33XHXZ5GMCQBYUHODK5IFENQtrue false falsebox-l-e7q4pp5kzdohdpe7vvheelgpceSid d9b6ed3f-3826-4f3b-a47f-5e09a73cbe69 /UniqId 53687091200(Byte) 2242518(Byte) /UniqId 46 47. $sid = Sid; $uid = /UniqId; $access_token = ; $url = 'https://ybox.yahooapis.jp/v1/le/' . $sid . '/'.$uid; // $body = ; $httpHeader = array( 'Host:ybox.yahooapis.jp', 'Authorization: Bearer ' . $access_token, ); $curlSetoptArray = array( CURLOPT_URL => $url, CURLOPT_HTTPHEADER => $httpHeader, CURLOPT_RETURNTRANSFER => true, CURLOPT_VERBOSE => true, CURLOPT_HEADER => true, CURLOPT_POST => true, CURLOPT_POSTFIELDS => $body, ); $ch = curl_init(); curl_setopt_array($ch, $curlSetoptArray); $result = curl_exec($ch); curl_close($ch);47 48. box-l-svq6zr7wylpytn3otktetn2gdq-100417c80ee0-612e-481b-b73b-3afaf59f1aa6UniqId /2014-02-06T19:56:32+09:00edTime> 48 49. Web49 50. test.jpgbox-l-svq6zr7wylpytn3otktetn2gdq-10040c703d7c-3e10-4af2-bccc-4539492a5c18 UniqId "5ddf0bde1391418521237985"2014-02-03T18:08:41+09:00edTime> //test.jpghttps://yoctfs.jp/res/box-l-svq6zr7wylpytn3otktetn2gdq-1004? account=storage&expires=1391418642&uid=0c703d7c-3e10-4af2- bccc-4539492a5c18&signature=NzY2ODkyM2MyNzc5YmQ1YWRmMmY1N2YxZWQ3NTh kMWEyZDJmYjYyMg--51 52. Web52 53. UniqId(PUT) $sid = Sid; $uid = UniqId; $url = 'https://ybox.yahooapis.jp/v1/le/public/'.$sid.'/'.$fuid; $httpHeader = array( 'Host:ybox.yahooapis.jp', 'Authorization: Bearer ' . $access_token, ); $curlSetoptArray = array( CURLOPT_URL => $url, CURLOPT_HTTPHEADER => $httpHeader, CURLOPT_RETURNTRANSFER => true, CURLOPT_VERBOSE => true, CURLOPT_HEADER => true, CURLOPT_PUT => true, ); $ch = curl_init(); curl_setopt_array($ch, $curlSetoptArray); curl_exec($ch); $response_header = curl_getinfo($ch); curl_close($ch); 53 54. Web54 55. Yahoo! http://developer.yahoo.co.jp/ API http://developer.yahoo.co.jp/webapi/box/ YConnect http://developer.yahoo.co.jp/yconnect/ Yahoo! http://info.box.yahoo.co.jp/index.html 55