2017-10-06 91 views
0

请我尝试使用插件WP的OAuth服务器使REST API在Wordpress和在的Oauth服务器创建一个新的客户端后,并生成新的访问令牌,我无法连接由标题授权授权承载 - WordPress的REST API

function register_api_hooks2() { 
    register_rest_route(
     'wp/v2/', '/beacon_products', 
     array(
      'methods' => POST, 
      'callback' => 'beacon_products', 
      'args' => [ 
       'id' 
      ], 
     ) 
    ); 
    function beacon_products($request){ 
     global $wpdb; 
     $current_user_id = get_current_user_id(); 

     if (empty($current_user_id)) { 
      return new WP_Error('rest_not_logged_in', __('You are not currently logged in.'), array('status' => 401)); 
     } 


     $result = array(); 
/*  filter_var($_POST['beacon_id'], FILTER_VALIDATE_INT)*/ 
     if(isset($_POST['eid']) && !empty($_POST['eid']) && isset($_POST['uid']) && !empty($_POST['uid'])){   
      try { 
     /* code */ 
       }else{ 
        return new WP_Error('Beacon introuvable','Aucun beacon associé au ses paramétres', array('status' => 404)); 
       } 
      } catch (Exception $e) { 
       return new WP_Error('Une erreur s\'est produite','Une erreur au niveau de serveur', array('status' => 500)); 
      } 
     }else{ 
      return new WP_Error('parametre manquant','eid ou bien uid introuvable', array('status' => 403)); 
     } 
     return $result; 
    } 
} 
+0

0意味着用户没有登录 – miknik

+0

但授权访问代码是好的 –

+0

你需要共享你的代码和详细信息,关于你得到你已经尝试什么,什么样的回答您的回调输出 – miknik

回答

0

很多事情要做。你真的需要阅读documentation

您应该使用权限,回调在初始功能和current_user_can,而不是get_current_user_id以确定是否要运行回调函数。

您应该返回使用return new WP_REST_Response($result, 200);