ব্যবহারকারীর_আইডির সাথে Google+ প্রোফাইল চিত্র url পাওয়া


94

আমি জানি যে প্রচুর সোশ্যাল নেটওয়ার্ক এপিআইগুলি তাদের ব্যবহারকারীর_আইডি বা ব্যবহারকারীর নাম ব্যবহার করে কোনও ব্যবহারকারীর প্রোফাইল পিকচারে ইউআরএল তৈরির একটি উপায় সরবরাহ করে। ফেসবুকের জন্য এটি দেখতে এমন দেখাচ্ছে:

http://graph.facebook.com/user_id/picture?type=square

গুগল প্লাসের জন্য এখন কি এরকম কিছু আছে? বা এপিআই কল ছাড়াই ব্যবহারকারীর ছবি পাওয়ার অন্য কোনও উপায় ??


4
আমি একটি বৈশিষ্ট্য অনুরোধ খুলেছি যা গুগল কখনও প্রয়োগ করে যদি আপনি আপডেটগুলি পেতে তারকাচিহ্নিত করতে পারেন। code.google.com/p/google-plus-platform/issues/detail?id=167
আব্রাহাম

চারপাশে অন্য উপায়ের জন্য এখানে একটি উদাহরণ। উদাহরণস্বরূপ আপনার Google+ প্রোফাইলে আপনার স্ট্যাক ওভারফ্লো ফ্লায়ার এম্বেড করা হচ্ছে: goo.gl/8EE4LT
লরেঞ্জ ল

২০১২ সাল থেকে এই প্রশ্নের উত্তর অনেক বার পরিবর্তিত হয়েছে। আমি একটি উত্তর পোস্ট করেছি যে ২০20 সালে কাজ - কত সময় জানি না :)
Leandro

উত্তর:


100

গুগল তাদের নীতি পরিবর্তন করেছে তাই গুগল প্রোফাইল চিত্র পাওয়ার জন্য পুরানো উপায় এখন কাজ করবে না, যা ছিল

https://plus.google.com/s2/photos/profile/(user_id)?sz=150

এটি করার নতুন উপায় হ'ল

ইউআরএল অনুরোধ

https://www.googleapis.com/plus/v1/people/115950284...320?fields=image&key={YOUR_API_KEY}

যা নীচে দেওয়া হিসাবে জসন ফর্ম্যাটে গুগল প্রোফাইল চিত্র url দেবে

প্রতিক্রিয়া:

{
    "image": 
    {
         "url": "https://lh3.googleusercontent.com/-OkM...AANA/ltpH4BFZ2as/photo.jpg?sz=50"
    }
}

ইউআরএল দিয়ে প্রেরণের জন্য আরও পরামিতি পাওয়া যাবে যা আপনার এখান থেকে প্রয়োজন হতে পারে

আরও বিশদের জন্য আপনি প্রদত্ত প্রশ্নটিও পরীক্ষা করতে পারেন যেখানে আমি একই ধরণের সমস্যার উত্তর দিয়েছি যেখানে গুগল প্লাসে ব্যবহারকারী আইডির মাধ্যমে ব্যবহারকারী চিত্রটি কীভাবে পাবেন?


4
এটি এখনও পুনর্নির্দেশ নয়, এটি কোনও <img>ট্যাগের মধ্যে ব্যবহার করা যাবে না
কিরিল কুলকভ

4
এই কারণেই এটির জেএসওএন ফর্ম্যাটে উল্লিখিত আপনি কী তা পান না, যেহেতু পরিবর্তন রয়েছে তাই আপনি @ কিরিলকুলকভের আগের মতো কাজ করার আশা করতে পারবেন না
TheMohanAhuja

4
@ আরগোরায়া আপনি এপিআই কলটিতে অনুরোধ করতে পারবেন না তবে আপনি অবশ্যই চিত্রের ইউআরএল দিয়ে আকার যুক্ত করতে পারবেন যে আপনি পেয়েছেন.../-OkM...AANA/ltpH...as/photo.jpg?sz=512
TheMohanAhuja

4
আমার একটি খারাপ অনুরোধের ত্রুটি হচ্ছে, আমার বিকাশকারী
কনসোলটিতে

4
কোনও উপায় আছে যার মাধ্যমে আমরা গুগল প্লাস এপি ছাড়াই ব্যবহারকারীর প্রোফাইল ছবি পেতে পারি যেহেতু এটি ভবিষ্যতে
সৌরভ ভার্মা

94

আপডেট: নীচের পদ্ধতিটি 2015 থেকে কাজ করে না

প্রোফাইল ছবি পাওয়া সম্ভব এবং আপনি এটির আকারও নির্ধারণ করতে পারেন:

https://plus.google.com/s2/photos/profile/<user_id>?sz=<your_desired_size>

উদাহরণ: আমার প্রোফাইল ছবি, মাপটি 100 পিক্সেলের সাথে সেট করা:

https://plus.google.com/s2/photos/profile/116018066779980863044?sz=100

একটি ছবি ট্যাগ সহ ব্যবহার:

<img src="https://plus.google.com/s2/photos/profile/116018066779980863044?sz=100" width="100" height="100">

আপনি এটি কাজ পেতে আশা করি!


4
হ্যাঁ, এখনই কাজ করছেন না, কেউ জানেন যে এটি কোনও অস্থায়ী সমস্যা বা স্থায়ী সমস্যা?
সিসিলিয়া আবাদি

4
এই পদ্ধতিটি আর কাজ করে না। একটি 404 ত্রুটি দেয়। আমি ক্রোম, সাফারি, ফায়ারফক্সে পরীক্ষা করেছি।
জাস্টিন

4
উপরের পদ্ধতিটি কয়েক দিন আগের মতো কাজ করে না তা প্রতিবিম্বিত করতে আমি উত্তরটি আপডেট করেছি।
এমিল স্টেনস্ট্রোম

4
@ সিসিলিয়াআবাদি: আপনি কি নিশ্চিত করতে পারবেন যে আপনার পদ্ধতিটি এখনও কাজ করে? বেশ কয়েকটি প্রকরণের চেষ্টা করেও এটি আমার ব্যবহারকারী আইডি দিয়ে কাজ করতে পারেনি (উপরের উত্তরটি দেখুন)। পারবে তুমি?
এমিল স্টেনস্ট্রোম

4
@ আরগোরায়া: তবে আপনি কীভাবে xxxxxx অংশটি স্বয়ংক্রিয়ভাবে গণনা করবেন?
এমিল স্টেনস্ট্রোম

48

আপডেট: গুগল এই পদ্ধতির জন্য সমর্থন বন্ধ করে দিয়েছে, এটি এখন একটি 404 (পাওয়া যায়নি) ত্রুটি প্রদান করে


এই সমস্ত url একটি ব্যবহারকারীর প্রোফাইল ছবি আনতে:

https://www.google.com/s2/photos/profile/{user_id}
https://plus.google.com/s2/photos/profile/{user_id}
https://profiles.google.com/s2/photos/profile/{user_id}

আপনি গুগল এপিআই থেকে প্রাপ্ত একই চিত্র url- এ পুনর্নির্দেশ করেছেন,
lh6.googleusercontent.com/-x1W2-XNKA-A/AAAAAAAAAAAAAAAAAAAAAoooooosNulbLz8U/photo.jpg হিসাবে একটি কুৎসিত লিঙ্ক

সবচেয়ে সহজ হ'ল সরাসরি চিত্র উত্সের মতো ব্যবহার করা:

<img src="https://www.google.com/s2/photos/profile/{user_id}">

অন্যথায় গুগল এপিআই কলের ঠিক একই url পেতে আপনি চিত্র শিরোনাম পড়তে পারেন,
উদাহরণস্বরূপ পিএইচপিতে:

$headers = get_headers("https://www.google.com/s2/photos/profile/{user_id}", 1);
echo "<img src=$headers[Location]>";

নিবন্ধে বর্ণিত হিসাবে পিএইচপি ব্যবহার করে গুগল প্লাস প্রোফাইল পিকচার আনুন


4
প্রতিটি অনুরোধের জন্য এইচটিটিপি অনুরোধ করার দরকার নেই, আমার উত্তর দেখুন।
এমিল স্টেনস্ট্রোম

4
এই কোথাও নথিভুক্ত করা হয়?
জোনাস আলভেস

4
যদিও এটি নিখুঁতভাবে কাজ করে, আমি এই পথে যাব না, কারণ গুগল কেবল এটি সমর্থন করা বন্ধ করে দিতে পারে, যেহেতু আমি কোথাও একটি সরকারী নথিপত্র দেখি না
লেফটারিস

আমি নীচে একটি পূর্ণ প্রমাণ উত্তর যুক্ত করেছি
এরওয়ান

নীচে আমি ব্যবহারকারীর আইডি দ্বারা গুগল প্রোফাইল চিত্র পেতে একটি নতুন সমাধান যুক্ত করেছি, যা 404 ত্রুটি প্রদান করে না এটি দয়া করে পরীক্ষা করে দেখুন।
দীপক গোস্বামী

26

পন্থা 1: (আর কাজ করে না)

https://plus.google.com/s2/photos/profile/<user_id>?sz=<your_desired_size>

পদ্ধতির 2: (প্রতিটি অনুরোধ আপনার এপিআই রেট সীমাতে গণনা করা হয় যা নিখরচায় 10k অনুরোধ রয়েছে)

https://www.googleapis.com/plus/v1/people/<user_id>?fields=image&key={YOUR_API_KEY}

নিম্নলিখিত প্রতিক্রিয়া বিন্যাস সহ:

{ "image": { "url": "lh5.googleusercontent.com/-keLR5zGxWOg/.../photo.jpg?sz=50"; } }

পদ্ধতির 3: (ডোনোটের জন্য এপিআই কী প্রয়োজন)

http://picasaweb.google.com/data/entry/api/user/<user_id>?alt=json

জসন প্রতিক্রিয়াতে আপনি "gphoto $ থাম্বনেইল" নামে একটি সম্পত্তি পাবেন যা নীচের মত প্রোফাইল পিকচার ইউআরএল রয়েছে:

http://lh6.ggpht.com/-btLsReiDeF0/AAAAAAAAAAI/AAAAAAAAAAA/GXBpycNk984/s64-c/filename.jpg

আপনি url এ লক্ষ্য করতে পারেন "s64-c" অংশটি যার অর্থ চিত্রটির আকার 64৪ হওয়া উচিত, আমি "s100-c" এর মতো অন্যান্য মানগুলি ব্যবহার করার চেষ্টা করেছি এবং তারা কাজ করেছে। এছাড়াও যদি আপনি "s64-c" অংশটি সরিয়ে ফেলে "? Sz = 100" পরামিতি যুক্ত করেন তবে সেটিও এখনকার মতো কাজ করবে। যদিও এটি কোনও gplus ব্যবহারকারীর প্রোফাইল ছবি পাওয়ার খুব ভাল উপায় নয় তবে সুবিধাটি হ'ল এটির জন্য কোনও এপিআই কী প্রয়োজন হয় না।


অ্যাপ্রোচ 2 এ আপনি কীভাবে এপিআই কল দিয়ে চিত্রের আকার সেট করবেন তা নির্ধারণ করেছেন?
মাকা

@ ম্যাকার আপনার মতো এপিআই সাড়া পাওয়া উচিত: image "চিত্র": {"ইউআরএল": " lh5.googleusercontent.com/-keLR5zGxWOg/.../photo.jpg?sz=50 "} where আপনি যেখান থেকে সেট করতে পারেন বিভিন্ন চিত্র আকারের জন্য sz প্যারামিটার
মাসুম

lol..google লোকেরা এপিআই কী না পেয়ে উপায় না পেয়ে তাদের এপিআইয়ের আওতায় আসার জন্য সর্বজনীনভাবে উপলভ্য চিত্রের লিঙ্কটি হ্যাক করতে চলেছে।
ব্যবহারকারী 1323136

4
আমি ভাবছি পিকাসাভেবের মতো কিছু আছে তবে আপনি ছবিটি ইমেল থেকে সরাসরি গুগল + এ পাবেন। আমার কেবলমাত্র এমন একটি ব্যবহারকারীর কেস রয়েছে যা আপনার জিমেইল অ্যাকাউন্টে একটি চিত্র রয়েছে তবে গুগল + এ কোনও প্রোফাইল নেই, এবং চিত্রটি নিয়ে আসে না। কেবল এই lh3.googleusercontent.com/-k10Va1BdzL8/AAAAAAAAAAAA/AAAAAAAAAAA…
jose920405

4
picasaweb.google.com এপিআই বর্ণিত হয়েছে এবং জানুয়ারী 2019 এর দ্বারা বিকাশ করা
ডটকম

11

গুগল, কোনও এপিআই দরকার নেই:

$data = file_get_contents('http://picasaweb.google.com/data/entry/api/user/<USER_ID>?alt=json');
$d = json_decode($data);
$avatar = $d->{'entry'}->{'gphoto$thumbnail'}->{'$t'};

// আউটপুট উদাহরণ: https://lh3.googleusercontent.com/-2N6fRg5OFbM/AAAAAAAAAA/AAAAAAAADE/2-RmpExH6iU/s64-c/photo.jpg

পরিবর্তন: আকারের জন্য "s64" এ 64


4
এটি ঠিক আছে, তবে অবতারটি ডিফল্ট বা প্রকৃত ব্যবহারকারী আপলোড হলে তা ফিরে আসে না।
মিগুয়েল

4

আপনি যদি বর্তমানে লগ ইন করা ব্যবহারকারীর প্রোফাইল প্রোফাইলটি দেখাতে চান তবে আপনাকে {ব্যবহারকারীর আইডি know জানারও দরকার নেই} সহজভাবে ব্যবহার https://plus.google.com/s2/photos/profile/meকরা যথেষ্ট হবে।


ধন্যবাদ, তবে দুর্ভাগ্যক্রমে এটি বর্তমান লগইন করা ব্যবহারকারীর জন্য নয়
আরভান

প্রশ্নটি ছিল ইউজার_আইডি ব্যবহার করে প্রোফাইল ছবি পাওয়ার বিষয়ে। আমার
মাক্কি

3

Google+ এপিআই- এর লোক.সেট পদ্ধতি ব্যবহার করে আপনি প্রোফাইল চিত্রের জন্য URL পেতে পারেন । এর জন্য অতিরিক্ত রাউন্ড ট্রিপ দরকার তবে চিত্রটি পাওয়ার সবচেয়ে নির্ভরযোগ্য উপায়।

আপনি প্রযুক্তিগতভাবে URL টিও ব্যবহার করতে পারেন https://s2.googleusercontent.com/s2/photos/profile/{id}?sz={size}যা চূড়ান্ত URL এ পুনঃনির্দেশ করবে। {id}গুগল ব্যবহারকারীর আইডি বা পুরানো গুগল প্রোফাইলগুলির একটির নাম (এটি এখনও তাদের কাছে রয়েছে এমন ব্যবহারকারীদের কাছে রয়েছে তবে আমি মনে করি না আপনি আর নতুন তৈরি করতে পারবেন)। {size}পিক্সেল মধ্যে ছবির পছন্দসই আকার। আমি প্রায় নিশ্চিত এই হল আছি না , একটি নথিভুক্ত, সমর্থিত বৈশিষ্ট্য তাই আমি কিছু গুরুত্বপূর্ণ জন্য এটি উপর নির্ভর করবে না যেমন নোটিশ ছাড়াই যে কোনো সময় চলে যেতে পারে। তবে দ্রুত প্রোটোটাইপ বা ছোট এক-অফ অ্যাপ্লিকেশনগুলির জন্য, এটি পর্যাপ্ত হতে পারে।


এই কোথাও নথিভুক্ত করা হয়?
জোনাস আলভেস 21

হ্যাঁ, জাস্টিন ঠিক আছে বলে মনে হচ্ছে ... এটি আর কাজ করে না।
নরিস

2

/ s2 / প্রোফাইল / ফটো ইউআরএল অ্যাক্সেস করার চেষ্টা করা বেশিরভাগ ব্যবহারকারীর জন্য কাজ করে তবে সকলেরই নয়।

একমাত্র পূর্ণ প্রমাণ পদ্ধতি হ'ল Google+ এপিআই ব্যবহার করা। পাবলিক প্রোফাইল ডেটা অনুরোধ করার জন্য আপনার ব্যবহারকারীর অনুমোদনের দরকার নেই তাই এটি একটি সহজ পদ্ধতি:

  1. Https://cloud.google.com/console এ একটি Google+ এপি কী পান

  2. একটি সাধারণ জিইটি অনুরোধ করুন: https://www.googleapis.com/plus/v1/people/+ <ব্যবহারকারীর নাম>? কি =

ব্যবহারকারীর নাম আগে + নোট করুন। আপনি যদি এর পরিবর্তে ব্যবহারকারীর আইডিগুলি ব্যবহার করেন (অঙ্কগুলির দীর্ঘ স্ট্রিং), আপনার + প্রয়োজন হবে না

  1. আপনি প্রোফাইল ডেটাতে একটি বিস্তৃত JSON উপস্থাপনা পাবেন যা এতে অন্তর্ভুক্ত রয়েছে: "চিত্র": {"url": " https://lh4.googleusercontent.com/ ..... ছবির বাকি অংশের URL .... "

2

আপনি যদি ফ্লার্ট ব্যবহার করেন তবে আপনি people.googleapis.comএন্ডপয়েন্টের মাধ্যমে এটি ব্যবহার করতে পারবেন , কোড google_sign_inলাইব্রেরি ব্যবহার করে

import 'package:google_sign_in/google_sign_in.dart';

Future<String> getPhotoUrl(GoogleSignInAccount account, String userId) async {
  // final authentication = await account.authentication;
  final url = 'https://people.googleapis.com/v1/people/${userId}?personFields=photos';
  final response = await http.get(
    url,
    headers: await account.authHeaders
  );

  final data = json.decode(response.body);
  return data['photos'].first['url'];
}

আপনি কিছু পাবেন

{
  resourceName: people/998812322529259873423, 
  etag: %EgQBAzcabcQBAgUH, 
  photos: [{metadata: {primary: true, source: {type: PROFILE, id: 107721622529987673423}}, 
  url: https://lh3.googleusercontent.com/a-/abcdefmB2p1VWxLsNT9WSV0yqwuwo6o2Ba21sh_ra7CnrZ=s100}]
}

যেখানে urlএকটি অ্যাক্সেসযোগ্য চিত্র url।


2

2020 সলিউশন আর উপলভ্য না হলে মন্তব্য করুন।

অনুমোদিত URL থেকে প্রোফাইল ইউআরএল পেতে।

GET https://people.googleapis.com/v1/people/[THE_USER_ID_OF_THE_AUTHENTICATED_USER]?personFields=photos&key=[YOUR_API_KEY] HTTP/1.1

Authorization: Bearer [YOUR_ACCESS_TOKEN]
Accept: application/json

প্রতিক্রিয়া:

{
  "resourceName": "people/[THE_USER_ID_OF_THE_AUTHENTICATED_USER]",
  "etag": "12345",
  "photos": [
    {
      "metadata": {
        "primary": true,
        "source": {
          "type": "PROFILE",
          "id": "[THE_USER_ID_OF_THE_AUTHENTICATED_USER]"
        }
      },
      "url": "https://lh3.googleusercontent.com/a-/blablabla=s100"
    }
  ]
}

এবং লিঙ্কটি ব্যবহার করা যেতে পারে:

<img src="https://lh3.googleusercontent.com/a-/blablabla=s100">

4
এটি ফেসবুক যেভাবে ব্যবহার করতে দেয় তার মত সোজা এগিয়ে নয়
পুয়া এস্তখরি

ঠিক আছে, তবে ফেসবুকের API গ্রাফিক 8.0 এর জন্য বিবেচনা করুন কয়েকটি বিষয়, আপনি চিত্রটি উল্লেখ করতে পারবেন না, কেবল এটি জোর বা ভাঙা চিত্র হিসাবে ডাউনলোড করতে পারেন। আমি এখনও প্রতিক্রিয়া ছাড়াই এটি সম্পর্কে একটি প্রশ্ন ছিল :(
Leandro

@ পুয়াএস্তাখরি এই উত্তরে এই মামলা নয় তবে আপনি যদি এএসপি.নেট কোর ৩.১ এর সাথে কাজ করছেন তবে আপনি ছবিটির দাবী থেকে চিত্রটি পেতে পারেন, অবশেষে আমি তা করেছি did
লেয়ানড্রো

4
আমি এখন ভি 8 এর সাথে একটি অ্যাপ্লিকেশন স্কোপ uid দিয়ে পরীক্ষা করেছি, এটি কাজ করে https://graph.facebook.com/1661794173890082/picture?width=200&height=200
পুয়া এস্তখরি

4
আমার উত্তর সেখানে পোস্ট।
পুয়া এস্তখ্রি

1

সম্ভব সমস্ত কিছু চেষ্টা করে দেখুন .. এখানে ওয়ার্কিং কোডের চূড়ান্ত অংশ। আশা করি এটি যে কেউ এটির জন্য সহায়তা করছে।

    <?
$url='https://www.googleapis.com/plus/v1/people/116599978027440206136?fields=image%2Furl&key=MY_API_KEY&fields=image';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_PROXYPORT, 3128);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
$response = curl_exec($ch);
curl_close($ch);
$d = json_decode($response);
$avatar_url = $d->{'image'}->{'url'};
echo $avatar_url;
?>

-4

সরল উত্তর: না

আপনাকে ছবিটি পেতে ব্যক্তির এপিআই এবং প্রোফাইল প্রোফাইল. url ডেটা নিতে হবে l এএআইএইএইচিকে ইউআরএলআইডি থাকা ইউআরএলটির জন্য কোনও ডিফল্ট ফর্ম্যাট নেই।


তুমি নিশ্চিত? আমি ভাবছি তাদের কি এই জাতীয় কিছু করার পরিকল্পনা আছে? যাই হোক ধন্যবাদ.
আরভান

4
আপনি যদি আলাদা প্রোফাইল দেখে থাকেন এবং ক্রোমের "ইলেক্ট্রিম এলিমেন্ট" সহ এইচটিএমএল আউটপুট দেখতে পান তবে আপনি দেখতে পাবেন যে সেগুলি সমস্ত আলাদা এবং এতে ইউজারআইডি নেই। এছাড়াও সরকারী দস্তাবেজগুলিতে কিছুই নেই।
কোলজা

4
উভয়ই চিত্র পাওয়া এবং সন্ধানের জন্য একটি নির্দিষ্ট আকার নির্ধারণ করা সম্ভব। আমার উত্তর নীচে দেখুন।
এমিল স্টেনস্ট্রোম

প্রশ্ন এবং এই উত্তরটি কোথায় পোস্ট করা সম্ভব ছিল না :)
আরভান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.