Ответы пользователя по тегу API
  • Yii2, как вставить в sql запрос coalesce поле, массив из API?

    Isolution666
    @Isolution666 Автор вопроса
    Full-Stack Developer
    Смысл был в том, чтобы разные данные соединить в один массив,
    и да Yii2 тут не при чём, это решается на чистом PHP:
    public static function viewAllOrders($uuid)
        {
            $url = self::url().'internalorder/'.$uuid;
            $response = self::get($url);
            $items = $response->json();
            $array = [];
            foreach($items['rows'] as $item) {
                $array[] = [
                    'id' => $item['id'],
                    'name' => $item['name'],
                    'created' => $item['created'],
                    'sum' => $item['sum'],
                    'vatSum' => $item['vatSum'],
                    'size' => $item['positions']['meta']['size'],
                    'state' => self::getInvoiceoutMetadataStates($item['state']['meta']['href'])
                ];
            }
            return [
                'count' => $items['meta']['size'],
                'rows' => $array
            ];
        }

    На выходе можно получить json который будет объединён из разных данных в единый ответ единоразово. Буду рад если кому-то помог с этим.
    Решение нашёл сам, готовых ответов не было.
    Использовать данное решение только на свой страх и риск.
    Ответ написан
    Комментировать
  • Почему Google Client API не даёт имя пользователя?

    Isolution666
    @Isolution666 Автор вопроса
    Full-Stack Developer
    Ошибка была в "скоупах", а так получается то, что нужно!
    public function getClientGoogle() 
        {
            $client = new Google_Client();
            $client->setClientId(Yii::$app->google->Client_Id);
            $client->setClientSecret(Yii::$app->google->Secret);
            $client->setRedirectUri(Yii::$app->google->RedirectUri);
            $client->setScopes(array('https://www.googleapis.com/auth/userinfo.email','https://www.googleapis.com/auth/userinfo.profile', 'https://www.googleapis.com/auth/plus.me'));
    
            $loginUrl = $client->createAuthUrl();
            return $loginUrl;
        }
    Ответ написан
    Комментировать