OAuthClientApi.php 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. <?php
  2. /**
  3. * 微店OAuth API
  4. */
  5. class OAuthClientApi extends ApiBase {
  6. public function __construct() {
  7. }
  8. /**
  9. * 获取自用型AccessToken
  10. *
  11. * @ignore
  12. *
  13. *
  14. *
  15. *
  16. *
  17. *
  18. * @return HttpResponse
  19. */
  20. public function getSelfoneAccessToken() {
  21. global $oneself_appkey;
  22. global $oneself_secret;
  23. // 取自用型AccessToken链接
  24. $url = API_HOST . 'token';
  25. $parameters = array (
  26. "grant_type" => "client_credential",
  27. "appkey" => $oneself_appkey,
  28. "secret" => $oneself_secret
  29. );
  30. return NetUtils::getInstance ()->request ( $url, 'GET', $parameters );
  31. }
  32. /**
  33. * 上传图片
  34. *
  35. * @ignore
  36. *
  37. *
  38. *
  39. *
  40. *
  41. *
  42. * @param unknown $img_path
  43. * @return HttpResponse
  44. */
  45. public function uploadImage($access_token, $img_path) {
  46. $url = API_HOST . 'media/upload';
  47. return NetUtils::getInstance ()->uploadFile ( $url, array (
  48. "access_token" => $access_token,
  49. "media" => $img_path
  50. ) );
  51. }
  52. /**
  53. * 使用Code换取AccessToken
  54. *
  55. * @param unknown $code
  56. * @return HttpResponse
  57. */
  58. public function getAccessToken($code) {
  59. $url = API_HOST . "oauth2/access_token";
  60. global $appkey;
  61. global $secret;
  62. return NetUtils::getInstance ()->request ( $url, 'POST', array (
  63. "grant_type" => "authorization_code",
  64. "appkey" => $appkey,
  65. "secret" => $secret,
  66. "code" => $code
  67. ) );
  68. }
  69. /**
  70. *
  71. * @ignore 刷新access_token
  72. * @param unknown $refresh_token
  73. * @throws Exception
  74. * @return HttpResponse
  75. */
  76. function refreshToken($refresh_token) {
  77. $url = constant ( 'API_HOST' ) . "oauth2/refresh_token";
  78. global $appkey;
  79. return NetUtils::getInstance ()->post ( $url, array (
  80. "grant_type" => "refresh_token",
  81. "appkey" => $appkey,
  82. "refresh_token" => $refresh_token
  83. ) );
  84. }
  85. }
  86. ?>