راکت
حل شده

دسترسی به مقادیرآرایه بعد از callback از گوگل

5 پاسخ

سلام.
دوستان با توجه به عکس ، من چطوری میتونم به محتوای آرایه برسم؟
منظورم اون بخشی هست که هایلایت شده میخوام بررسی کنم ایمیلش در گوگل تایید شده؟
خیلی واجب نیست اما رفته رو مخم 😉.

اطلاعات بازگشتی از گوگل ، به هایلایت توجه کنید.

ثبت پرسش جدید

پاسخ‌ها

5
حسین اخلاقی
حسین اخلاقی
@hossein0440

تخصص: مدیر وب سایت ، نیمه حرفه ای در ورد پرس

بهترین پاسخ

سلام .
یافتم جواب رو به کمک @mohsenbostan عزیز.
چند نکته :
اول که مثل پیام قبلی میتونیم به آرایه دسترسی پیدا کنیم.
دوم به کد زیر دقت کنید.

 try {
            $user = Socialite::driver($driver)->user();

            $head=$user->user;

            ddd($head["email_verified"]);
        } catch (\Exception $e) {
            //todo error
            return $e;
            return redirect()->route('login');
        }

ddd($head["email_verified"]);
تو این خط که نوشتم من چندتا اشتباه جزئی داشتم. اول خواستم با -> به مقدار آرایه دست پسدا کنم که اشتباه بود باید از [] استفاده میکردم.
اشتباه دوم این بود که از سینگل کوتیشن بجای دبل کوتیشن استفاده کردم.
سوم این که حروف کوچیک و بزرگ رو دقت کنید.

حسین اخلاقی
حسین اخلاقی
@hossein0440

تخصص: مدیر وب سایت ، نیمه حرفه ای در ورد پرس

دوستان باورم نمیشه هنوز کسی به این ابهام من پاسخ نداده.
اساتید محترم نظریندارید؟
@mohsenbostan
@arian
@ali.bayat
@hesammousavi

محسن بستان
محسن بستان
@mohsenbostan

تخصص: Senior Backend Developer

@hossein0440
سلام.
لطفا کد رو قرار بدید الان این معلوم نیست شما چی دارید و چی می گیرید.

شاید پاسخ شما همین‌جا باشد

حسین اخلاقی
حسین اخلاقی
@hossein0440

تخصص: مدیر وب سایت ، نیمه حرفه ای در ورد پرس

این تابع callback ام هست و اون عکسی هم که گذاشتم مربوط به تست ddd هست که الان در لاین 5 کامنت هست.

 public function handleProviderCallback($driver)
    {
        try {
            $user = Socialite::driver($driver)->user();

//            ddd($user);

        } catch (\Exception $e) {
            //todo error
            return redirect()->route('login');
        }

        $existingUser = User::where('email', $user->getEmail())->first();

        if ($existingUser) {
            auth()->login($existingUser, true);
        } else {
            $newUser                    = new User;
            $newUser->provider_name     = $driver;
            $newUser->provider_id       = $user->getId();
            $newUser->name              = $user->getName();
            $newUser->email             = $user->getEmail();
            $newUser->email_verified_at = now();
            $newUser->avatar            = $user->getAvatar();

            $newUser->save();

            auth()->login($newUser, true);
        }

        return redirect($this->redirectPath());

}
محسن بستان
محسن بستان
@mohsenbostan

تخصص: Senior Backend Developer

@hossein0440
خب دیگه با استفاده از کد زیر می تونید آرایه اون قسمت رو بگیرید.

$user->user

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام