yahoo!ボックスapi hackday資料

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

Upload: yahoo

Post on 15-Jan-2015

361 views

Category:

Internet


0 download

DESCRIPTION

http://developer.yahoo.co.jp/webapi/box/

TRANSCRIPT

  • 1. Yahoo! JAPAN Yahoo!API Hackday 2

2. 1Yahoo! - - - Id API - API 3. Yahoo! 2Yahoo! 4. 31000 5. 4 6. 5 7. 6Yahoo!API 8. 7API 9. 8 10. 9 API 11. 10Yahoo! JAPAN ID ! 12. 11 ID 13. 12 14. 13 & 15. 14 LINETwitter 16. 15Yahoo!API 17. 16Twitter 18. 19. 18 20. 19 21. 20 22. 21 23. 22 24. 23 25. 24 26. 25 27. 26 28. ID 27 ID ID Yahoo! 29. API 28ID 30. 29ID 31. 30 32. YConnect 31OAuth2.0 http://developer.yahoo.co.jp/yconnect/ WebAPI YConnect 33. 32YConnect Yahoo! 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); 33 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_token 34 36. Guid 35Guid Yahoo! JAPAN ID Yahoo! JAPAN IDID YConnectUserInfoAPI http://developer.yahoo.co.jp/yconnect/userinfo.html 37. UserInfoAPI 36GET NG33XHXZ5GMCQBYUHODK5IFENQtrue false falsebox-l-e7q4pp5kzdohdpe7vvheelgpceSid d9b6ed3f-3826-4f3b-a47f-5e09a73cbe69 /UniqId 53687091200(Byte) 2242518(Byte) 47. 46$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); 48. 47 box-l-svq6zr7wylpytn3otktetn2gdq-100417c80ee0-612e-481b-b73b-3afaf59f1aa6UniqId /2014-02-06T19:56:32+09:00edTime> 49. 48Web 50. 49 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-- 52. 51Web 53. 52UniqId(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); 54. 53Web 55. 54 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