ফেসবুক গ্রাফ এপিআই: একটি অনুরোধে আরও বড় ছবি পান


88

আমি বর্তমানে কিছু পরীক্ষা করার জন্য গ্রাফ এপিআই এক্সপ্লোরার ব্যবহার করছি । এটি একটি ভাল সরঞ্জাম।

আমি ব্যবহারকারীর বন্ধুদের তালিকা, বন্ধুদের নাম, আইডি এবং ছবি সহ পেতে চাই। সুতরাং আমি টাইপ করুন:

https://graph.facebook.com/me/friends?fields=id,picture,name

তবে ছবিটি কেবল 50x50 এর এবং আমি এই অনুরোধে আরও একটি বড় চাই।

এটা কি সম্ভব ?

উত্তর:


68

যদিও আপনাকে 'ছবি' বৈশিষ্ট্যটি টানতে হবে না। আরও অনেক সুবিধাজনক উপায় আছে, আপনার প্রয়োজন কেবলমাত্র ইউজাইড, নীচের উদাহরণ দেখুন;

https://ographic.facebook.com/user_id/picture?type=lage

PS টাইপ আপনি চান আকার নির্ধারণ করে

plz মনে রাখবেন যে মৌলিক অনুমতিগুলির সাথে টোকেন ব্যবহার করে, / আমি / বন্ধুরা কেবল আইডি + নাম বৈশিষ্ট্যযুক্ত বন্ধুদের তালিকা ফিরিয়ে দেবে


4
তবে আমি আপনার সাথে সর্বশেষ বাক্যটির সাথে একমত নই: মৌলিক অনুমতি নিয়ে, আপনি আইডি + নামের বৈশিষ্ট্যের চেয়ে আরও বেশি অ্যাক্সেস করতে পারবেন, যেমন: গ্রাফ.ফেসবুক / বিটিএলর
মার্টিন

29
আহ, কী "এক অনুরোধে"?
Iulian Onofrei

4
আপনি ছবির ফুল_পিকচার ইনস্ট্যাট ব্যবহার করতে পারেন।
বো পেনিংস

"বার্তা": "(# 12) এই ধরণের চিত্র প্রান্তটি v2.3 এবং উচ্চতর সংস্করণগুলির জন্য অবচিত করা হয়েছে",
টুলকিট

202

ফেসবুকে এই বাগে বর্ণিত হিসাবে আপনি নতুন এপিআই " ফিল্ড এক্সপেনশন " সিনট্যাক্সের মাধ্যমেও এখন নির্দিষ্ট চিত্রের মাপের জন্য অনুরোধ করতে পারেন ।

তাই ভালো:

https://graph.facebook.com/____OBJECT_ID____?fields=picture.type(large)

27
প্রকৃতপক্ষে. ফিল্ডস = ছবি.উইথ (640) আরও ভাল।
কায়ে

6
দেখে মনে হচ্ছে ফেসবুক গ্রাফ এপিআই তাদের এপিআই পরিবর্তন করেছে। আমি যখন আপনার পরামর্শটি ব্যবহার করার চেষ্টা করেছি তখন ফেসবুক "সাবফিল্ডগুলি ছবি দ্বারা সমর্থিত নয়" প্রতিক্রিয়া জানায়।
ফ্যাট এইচ ভি

4
পেয়ে ত্রুটি: { "ত্রুটি": { "বার্তা": "। অসমর্থিত পেতে অনুরোধ দয়া করে গ্রাফ এপিআই ডকুমেন্টেশন পড়া developers.facebook.com/docs/graph-api ", "টাইপ": "GraphMethodException", "কোড": 100}}
ভিনিশ টিপি

13
? ক্ষেত্র = পূর্ণ_ চিত্র, 2.x প্রশ্নের জন্য সংযুক্তি দেখুন
কেভিন

4
নতুন ফেসবুক পরিবর্তন সহ, বৃহত্তর চিত্র পেতে অক্ষম। কোনও ইঙ্গিত কেউ?
শেডাব.তুগলাক

82

সঠিক চিত্রের মাপের সাথে সমস্ত বন্ধুকে (যারা অবশ্যই অ্যাপটি ব্যবহার করছেন) পাওয়ার সর্বোত্তম উপায় হ'ল সাইজের ট্যাগগুলির সাথে (বর্গক্ষেত্র, ছোট, সাধারণ, বৃহত্তর) ক্ষেত্র সম্প্রসারণ ব্যবহার করা :

/me/friends?fields=picture.type(large)

(সম্পাদনা করুন: এটি আর কাজ করে না)

... বা আপনি প্রস্থ / উচ্চতা নির্দিষ্ট করতে পারেন:

me/friends?fields=picture.width(100).height(100)

বিটিডব্লিউ, আপনি এটি এ জাতীয়ভাবে লিখতে পারেন:

me?fields=friends{picture.type(large)}

4
তথ্যের জন্য থেক্স, আমি উত্তরটি আপডেট করব। ফুল_পিকচারটি বন্ধুদের জন্য কাজ করছে বলে মনে হচ্ছে না: / আমি / বন্ধুরা? ক্ষেত্রগুলি = পূর্ণ_ চিত্র - এটি কীভাবে সম্ভব হবে আপনার কোনও ধারণা আছে?
লুশ্ন

34

ক্ষেত্র বিন্যাস পরিবর্তন id,name,pictureকরার জন্যid,name,picture.type(large)

https://graph.facebook.com/v2.8/me?fields=id,name,picture.type(large)&access_token=<the_token>

ফলাফল:

{
   "id": "130716224073524",
   "name": "Julian Mann",
   "picture": {
      "data": {
         "is_silhouette": false,
         "url": "https://scontent.xx.fbcdn.net/v/t1.0-1/p200x200/15032818_133926070419206_3681208703790460208_n.jpg?oh=a288898d87420cdc7ed8db5602bbb520&oe=58CB5D16"
      }
   }
}

7
200 x 200 কিভাবে বড়?
অ্যালেক্সভ্যালিজো

4
সর্বশেষে (২.১০) গ্রাফ এপিআই "বড়" আকারের উপলভ্য নয়:Graph returned an error: (#100) For field 'picture': type must be one of the following values: thumbnail, small, album
হোনজা

33

আপনি ছবিটির আকারটি পিক্সেলগুলিতে সেট করতে পারেন:

https://graph.facebook.com/v2.8/me?fields=id,name,picture.width(500).height(500)

একই পদ্ধতিতে, typeপ্যারামিটার ব্যবহার করা যেতে পারে

{user-id}/?fields=name,picture.type(large)

ডকুমেন্টেশন থেকে

টাইপ এনুম {ছোট, সাধারণ, অ্যালবাম, বৃহত, বর্গক্ষেত্র}


20

আপনি ছবিটি উচ্চতা বা প্রস্থের ভিত্তিতে চাইলে তা পাওয়ার চেষ্টা করতে পারেন

https://راف.facebook.com/user_id/picture?height=

বা

https://ographic.facebook.com/user_id/picture?width=

মানগুলি ডিফল্টরূপে পিক্সেলে থাকে আপনার কেবলমাত্র মান মান সরবরাহ করতে হবে


20

আমি গ্রাফ এপিআই এক্সপ্লোরারটি ব্যাপকভাবে গবেষণা করেছি এবং পরিশেষে পূর্ণ_ চিত্র পেয়েছি

https://graph.facebook.com/v2.2/$id/posts?fields=picture,full_picture

PS আমি লক্ষ্য করেছি যে পূর্ণ চিত্রটি সর্বদা আমি চাই পূর্ণ আকারের চিত্র সরবরাহ করে না। 'সংযুক্তি' করে

https://graph.facebook.com/v2.2/$id/posts?fields=picture,full_picture,attachments

এটি কেবল প্রস্থ প্রদর্শন: 720px। আপনার কেবলমাত্র বড় ছবি এটির মতো সন্ধান করে। বৃহত্তম গ্রাফ.ফেসবুক / ফোটো_আইডির জন্য আপনি 6 টি বিভিন্ন আকারের ছবি দেখতে পারেন।
গোখন

আমি কেবল শেষ প্রান্তে বন্ধুদের সাথে এটি পরীক্ষা করেছি এবং এটি কার্যকর হয়নি
luschn

9

হুম ... আমি মনে করি আমি একটি সমাধান খুঁজে পেয়েছি।

আসলে, কেবল অনুরোধ করতে পারেন

https://graph.facebook.com/me/friends?fields=id,name

Http://developers.facebook.com/docs/references/api/ (বিভাগ "চিত্র") এর মতে , প্রোফাইলের ফটোগুলির ইউআরএল ব্যবহারকারী আইডি দিয়ে তৈরি করা যেতে পারে

উদাহরণস্বরূপ, ধরে নিচ্ছি যে ব্যবহারকারী আইডি আইডিতে রয়েছে:

"http://graph.facebook.com/$id/picture?type=square"
"http://graph.facebook.com/$id/picture?type=small"
"http://graph.facebook.com/$id/picture?type=normal"
"http://graph.facebook.com/$id/picture?type=large"

তবে এটি চূড়ান্ত চিত্রের ইউআরএল নয়, সুতরাং কারওর সাথে যদি আরও ভাল সমাধান হয় তবে আমি তা জানতে পেরে আনন্দিত হব :)



3

আপনি নির্দিষ্ট করতে পারেন width& heightফেসবুক গ্রাফ এপিআই করার জন্য আপনার অনুরোধ মধ্যে:http://graph.facebook.com/user_id/picture?width=500&height=500


2

থেকে v2.7, /<picture-id>?fields=imagesআপনাকে বিভিন্ন আকারের চিত্র সহ একটি তালিকা দেবে, প্রথম উপাদানটি পূর্ণ আকারের চিত্র।

আমি এক সাথে একাধিক চিত্রের কোনও সমাধান জানি না।


1

গ্রাফ প্রতিক্রিয়াগুলিতে পাওয়া URL- এর চিত্রগুলিতে (" http://photos-c.ak.fbcdn.net/ " বেশী), কেবলমাত্র _ _n.jpg (? স্বাভাবিক আকার) দ্বারা ডিফল্ট "_s.jpg" প্রতিস্থাপন করুন বা "_b.jpg" (? বড় আকার) বা "_t.jpg" (থাম্বনেইল)।

হ্যাকাকিয়েবল ইউআরএল / আরএসএসপি এপিআই ওয়েবকে আরও উন্নত করে।


4
সবসময় দিতে মনে এখন দুর্ভাগ্যবশত "আপনার অনুরোধ প্রক্রিয়াকরণের সময় একটি ত্রুটি ঘটেছে রেফারেন্স # 50.27f74317.14274.604fb0।"
কেভিন

1

বিশ্রাম-এফবি ব্যবহারকারী (বর্গক্ষেত্র চিত্র, আরও বড় রেজো।): সংযোগ myF Friendss = fbClient.fetchConnection ("me / বন্ধুরা", ব্যবহারকারীর ক্লাস, প্যারামিটার.উইথ ("ক্ষেত্রগুলি", "পাবলিক_ প্রোফাইল, ইমেল, প্রথম নাম, শেষ নাম, লিঙ্গ, ছবি । প্রস্থ (100)। উচ্চতা (100) "));


1

আমি এই ত্রুটিটি পেয়েছি যখন আমি এর সাথে একটি অনুরোধ করেছি picture.type(full_picture):

"(# 100) ক্ষেত্রের 'ছবি' এর জন্য: ধরণটি নিম্নলিখিত মানগুলির মধ্যে একটি হতে হবে: ছোট, সাধারণ, অ্যালবাম, বৃহত্তর, বর্গক্ষেত্র"

যখন আমি সঙ্গে অনুরোধ করতে picture.type(album)এবং picture.type(square), একটি চিত্র 50x50 পিক্সেল আকার সঙ্গে প্রতিক্রিয়া আমাকে।

আমি যখন অনুরোধটি করি তখন picture.type(large)আমাকে 200x200 পিক্সেল আকারের একটি চিত্র দিয়ে প্রতিক্রিয়া জানায়।

আমি যখন অনুরোধ করি সাথে picture.width(800) 477x477 পিক্সেল আকারের একটি চিত্র আমাকে প্রতিক্রিয়া জানায়।

সঙ্গে picture.width(250) , প্রতিক্রিয়া 320x320।

সঙ্গে picture.width(50) , প্রতিক্রিয়া 50x50।

সঙ্গে picture.width(100) , প্রতিক্রিয়া 100x100।

সঙ্গে picture.width(150) , প্রতিক্রিয়া 160x160।

আমি মনে করি যে ফেসবুকটি সেই চিত্র দেয় যা ব্যবহারকারীরা যখন প্রথম সেই ছবি যুক্ত করে তখন বিভিন্ন আকার পরিবর্তন করে।

আমি এখানে যা দেখতে পেয়েছি ব্যবহারকারীর চিত্রের জন্য অনুরোধ করার জন্য এপিআই অনুরোধ করা চিত্রটির আকার পরিবর্তন করতে সমর্থন করে না। আমি মনে করি এটি চিত্রের নিকটতম আকার দেয়।


সত্য ... "চিত্র.প্রকার (বৃহত্তর)" আমাকে 200x200ও দিয়েছে - খুব বড় নয় আমি অবশ্যই বলতে পারি
জেমস


0

আমি মনে করি যে এখন পর্যন্ত বন্ধুদের বড় ছবি পাওয়ার একমাত্র উপায় হ'ল এফকিউএল ব্যবহার করা। প্রথমত, আপনাকে বন্ধুদের তালিকা আনতে হবে:

https://ographic.facebook.com/me/ Friendss

তারপরে এই তালিকাটি বিশ্লেষণ করুন এবং সমস্ত বন্ধুকে বের করুন ids। যখন আপনার এটি আছে, কেবলমাত্র নিম্নলিখিত FQL কোয়েরিটি সম্পাদন করুন:

SELECT id, url FROM profile_pic WHERE id IN (id1, id2) AND width=200 AND height=200

200এখানে কেবল একটি অনুকরণীয় আকার, আপনি যে কোনও কিছু প্রবেশ করতে পারেন। আপনার নিম্নলিখিত প্রতিক্রিয়া পাওয়া উচিত:

{
  "data": [
    {
      "id": ..., 
      "url": "https://fbcdn-profile-a.akamaihd.net/..."
    }, 
    {
      "id": ..., 
      "url": "https://fbcdn-profile-a.akamaihd.net/..."
    }
  ]
}

প্রতিটি url 200x200px চিত্রের লিঙ্ক হওয়ার সাথে being


0

আমার একই সমস্যা আছে তবে আমি আমার সমস্যাটি সমাধান করার জন্য এটি চেষ্টা করেছি। এটি বৃহত চিত্র ফিরে আসে। এটি নিখুঁত ঠিক নয় তবে আপনি এটি ব্যবহার করে দেখতে পারেন।

https://ographic.facebook.com/v2.0/OBJECT_ID/picture?access_token=XXXXX


অনুরোধে আরও একটি পরামিতি যুক্ত করুন: প্রকার = বড়। নীচে আমার উত্তর চেক করুন।
জন্মগ্রহণ করুন

0

প্রতিটি জসন বস্তুর url থেকে পিক্সেল আকার পরিবর্তন করে চিত্রের আকার পরিবর্তন করার চেষ্টা করুন:

উদাহরণস্বরূপ আমি হতে s480x480 পরিবর্তন s720x720

আগে : https://fbcdn-sphotos-ca.akamaihd.net/hphotos-ak-xfp1/t1.0-9/q71/s480x480/10454308_773207849398282_283493808478577207_n.jpg

পরে: https://fbcdn-sphotos-ca.akamaihd.net/hphotos-ak-xfp1/t1.0-9/q71/s720x720/10454308_773207849398282_283493808478577207_n.jpg


0

জেএস স্টাইলযুক্ত বৈকল্পিক। সবেমাত্র বিশাল আকারের ছবির প্রস্থ নির্ধারণ করুন এবং আপনি সবচেয়ে বড় বৈকল্পিক পাবেন।

FB.api(
  '/' + userId,
  {fields: 'picture.width(2048)'},
  function (response) {
    if (response && !response.error) {
      console.log(response.picture.data.url);
    }
  }
);


0

দ্রষ্টব্য : গ্রাফ API v8.0 থেকে আপনিmust provide the access token প্রতিটি ইউজারআইডি অনুরোধের জন্য।

গ্রাফ এপিআই মারছে:

https://graph.facebook.com/<user_id>/picture?height=1000&access_token=<any_of_above_token>

ফায়ারবেস সহ:

FirebaseUser user = mAuth.getCurrentUser();
String photoUrl = user.getPhotoUrl() + "/picture?height=1000&access_token=" +
  loginResult.getAccessToken().getToken();

আপনি registerCallbackঠিক এইভাবে থেকে টোকেন পাবেন

       LoginManager.getInstance().registerCallback(mCallbackManager, new FacebookCallback<LoginResult>() {
        @Override
        public void onSuccess(LoginResult loginResult) {
            FirebaseUser user = mAuth.getCurrentUser();
            String photoUrl = user.getPhotoUrl() + "/picture?height=1000&access_token=" + loginResult.getAccessToken().getToken();
        }

        @Override
        public void onCancel() {
            Log.d("Fb on Login", "facebook:onCancel");
        }

        @Override
        public void onError(FacebookException error) {
            Log.e("Fb on Login", "facebook:onError", error);
        }
    });

এটি ডকুমেন্টেশন বলে:

2020 সালের 24 অক্টোবর থেকে সমস্ত ইউআইডি-ভিত্তিক প্রশ্নের জন্য অ্যাক্সেস টোকেনের প্রয়োজন হবে। আপনি যদি কোনও ইউআইডি সম্পর্কে জিজ্ঞাসাবাদ করেন এবং অবশ্যই একটি টোকেন অন্তর্ভুক্ত করতে হবে:

  • ফেসবুক লগইন প্রমাণীকরণের অনুরোধগুলির জন্য একটি ব্যবহারকারী অ্যাক্সেস টোকেন ব্যবহার করুন
  • পৃষ্ঠা-বিচ্ছিন্ন অনুরোধগুলির জন্য একটি পৃষ্ঠা অ্যাক্সেস টোকেন ব্যবহার করুন
  • সার্ভার-সাইড অনুরোধগুলির জন্য একটি অ্যাপ অ্যাক্সেস টোকেন ব্যবহার করুন
  • মোবাইল বা ওয়েব ক্লায়েন্ট-পক্ষের অনুরোধগুলির জন্য ক্লায়েন্ট অ্যাক্সেস টোকেন ব্যবহার করুন

আমরা আপনাকে কেবলমাত্র একটি ক্লায়েন্ট টোকেন ব্যবহার করার পরামর্শ দিই যদি আপনি অন্য কোনও টোকেন ধরণের ব্যবহার করতে অক্ষম হন।

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