حسین اخلاقی
5 سال پیش توسط حسین اخلاقی مطرح شد
5 پاسخ

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

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

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


ثبت پرسش جدید
حسین اخلاقی
تخصص : مدیر وب سایت ، نیمه حرفه ای در...
@hossein0440 5 سال پیش مطرح شد
0

سلام .
یافتم جواب رو به کمک @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 5 سال پیش مطرح شد
0

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


محسن بستان
تخصص : Senior Backend Developer
@mohsenbostan 5 سال پیش مطرح شد
1

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


حسین اخلاقی
تخصص : مدیر وب سایت ، نیمه حرفه ای در...
@hossein0440 5 سال پیش مطرح شد
0

این تابع 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());

}

محسن بستان
تخصص : Senior Backend Developer
@mohsenbostan 5 سال پیش مطرح شد
0

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

$user->user

حسین اخلاقی
تخصص : مدیر وب سایت ، نیمه حرفه ای در...
@hossein0440 5 سال پیش مطرح شد
0

سلام .
یافتم جواب رو به کمک @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"]);
تو این خط که نوشتم من چندتا اشتباه جزئی داشتم. اول خواستم با -> به مقدار آرایه دست پسدا کنم که اشتباه بود باید از [] استفاده میکردم.
اشتباه دوم این بود که از سینگل کوتیشن بجای دبل کوتیشن استفاده کردم.
سوم این که حروف کوچیک و بزرگ رو دقت کنید.


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

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