2012-06-04 18 views
10

पर प्लेयर की टाइमलाइन पर उच्च स्कोर प्रकाशित नहीं कर सकता है। मैं एक PHP गेम विकसित कर रहा हूं और खिलाड़ियों को अपनी फेसबुक दीवार/टाइमलाइन पर हाईस्कॉर्स पोस्ट करना चाहता हूं।फेसबुक

मैं एक Facebook अनुप्रयोग और मैं पोस्ट (के रूप में फेसबुक से ही प्रदान की गई) स्कोर है करने के लिए उपयोग कर रहा हूँ PHP कोड सेट कर लेते हैं:

<?php 
require 'facebook-sdk/facebook.php'; 

$app_id = MY_APP_ID; 
$app_secret = MY_APP_SECRET; 
$score = 1500; // this is gonna be passed someway... 

$facebook = new Facebook(array(
    'appId' => $app_id, 
    'secret' => $app_secret, 
)); 

$user = MY_USER_ID; // to be replaced with a call to $facebook->getUser() 

$app_access_token = get_app_access_token($app_id, $app_secret); 
$facebook->setAccessToken($app_access_token); 
$response = $facebook->api('/' . $user . '/scores', 'post', array(
    'score' => $score, 
)); 
print($response); 

// Helper function to get an APP ACCESS TOKEN 
function get_app_access_token($app_id, $app_secret) { 
    $token_url = 'https://graph.facebook.com/oauth/access_token?' 
    . 'client_id=' . $app_id 
    . '&client_secret=' . $app_secret 
    . '&grant_type=client_credentials'; 

    $token_response =file_get_contents($token_url); 
    $params = null; 
    parse_str($token_response, $params); 
    return $params['access_token']; 
} 
?> 

बेशक वहाँ एक लॉगिन और अनुभाग स्थापित जो मैंने छोड़ा है, उपयोगकर्ता को लॉगिन करने और ऐप के लिए 'publish_stream' और 'publish_actions' विशेषाधिकार प्रदान करने के लिए कहा है।

यह सफलता के साथ काम कर रहा है, प्रतिक्रिया परिवर्तनीय आउटपुट 1. मैं फेसबुक ग्राफ एपीआई एक्सप्लोरर का उपयोग करके पोस्ट स्कोर देख सकता हूं, इसलिए मुझे लगता है कि सब कुछ वास्तव में ठीक और चिकनी काम कर रहा है।

समस्या यह है कि मैं फेसबुक पर कहीं भी पोस्ट की गई उपयोगकर्ता-कहानी को देखने में सक्षम नहीं हूं। प्रलेखन पढ़ना मुझे लगता है कि जब कोई स्कोर बचाता है तो उपयोगकर्ता की कहानी स्वचालित रूप से प्रकाशित होनी चाहिए। उदाहरण के तौर पर, here या here पर एक नज़र डालें।

क्या किसी ने भी इस समस्या को हल किया है? क्या आप ऐसा कुछ देखते हैं जिसे मैं याद कर सकता हूं? क्या आप इस मुद्दे को हल करने के लिए मुझे सही दिशा में इंगित कर सकते हैं?

किसी भी मदद की अत्यधिक सराहना की जाएगी।

+0

आप गतिविधि लॉग में जाँच की थी? आप इसे https://www.facebook.com/USER_ID/allactivity – Venu

+0

के माध्यम से प्राप्त कर सकते हैं क्या आप वाकई वैध ऐप एक्सेस टोकन का उपयोग कर रहे हैं? (यानी इसे 'echo' करने का प्रयास करें और यह सुनिश्चित कर लें कि आप क्या उम्मीद करते हैं) क्या आपने [ग्राफ़ एपीआई एक्सप्लोरर] (https://developers.facebook.com/tools/explorer/) में अनुरोध को दोहराने का प्रयास किया है? –

+0

दुर्भाग्यवश मैंने दोनों को लिखा था, जैसा कि मैंने लिखा था: स्कोर फेसबुक द्वारा सहेजा जाता है लेकिन दस्तावेज़ों की अपेक्षा कहीं भी कोई पोस्ट दिखाई नहीं दे रहा है। – HobieCat

उत्तर

4

आप लिखना

प्रलेखन पढ़ना की देखभाल करते हैं मुझे लगता है कि जब कोई स्कोर बचाता है तो उपयोगकर्ता की कहानी स्वचालित रूप से प्रकाशित होनी चाहिए।

स्कोर स्वचालित रूप से प्रकाशित नहीं होते हैं। वे केवल विशेष परिस्थितियों में प्रकाशित कर रहे हैं, अर्थात् जब कोई उपयोगकर्ता:

  • एक नई उच्च स्कोर ("उच्च स्कोर कहानी") हो जाता है।
  • किसी अन्य मित्र के स्कोर ("पासिंग कहानी") पास करें।

अपने कोड में आप हर बार स्कोर 1,500 पोस्ट करते हैं। पहली बार पोस्ट करने के बाद, जब आप बार-बार परीक्षण के लिए इसे पोस्ट करते हैं, तो आपका पोस्ट अनुरोध सफल होगा लेकिन स्कोर फिर से प्रकाशित नहीं होगा क्योंकि यह एक नया उच्च नहीं है।

सूत्रों का कहना है:
Facebook Developers: Games Tutorial.
Facebook Developers Developer Blog: Games Update: Expanding distribution for Scores and Achievements

+0

मेरा विकास आगे बढ़ गया है, अब मैं स्कोर के रूप में और दीवार पोस्ट के रूप में दोनों पोस्ट कर रहा हूं। तो अब मैं हमेशा 1,500 पोस्ट नहीं कर रहा हूं और मैं पोस्ट करने से पहले फेसबुक पर संग्रहीत किए गए वास्तविक स्कोर की जांच कर रहा हूं। जबकि मैं लिख रहा हूं, मैं कुछ दोस्तों के साथ कुछ परीक्षण कर रहा हूं, आपको – HobieCat

+0

अपडेट समय बताएगा: मेरे दोस्तों के साथ किए गए परीक्षणों के बाद, मुझे कहना है कि यह आंशिक रूप से काम कर रहा है। मैं पांच में से केवल तीन बार "पासिंग स्टोरी" प्राप्त करने में सक्षम था और मुझे कभी भी "उच्च स्कोर कहानी" नहीं मिली। क्या आपके पास कोई और सुझाव और/या स्पष्टीकरण है? तो, अब तक आप सबसे अच्छे जवाब हैं।स्वीकृत :) – HobieCat

+0

खुशी हुई इससे मदद मिली :) आपके परीक्षणों के आपके विवरण के आधार पर, मुझे लगता है कि उच्च स्कोर कहानियां आंतरिक रूप से एफबी पर आवृत्ति के लिए फ़िल्टर की जाती हैं ताकि ये कहानियां उपयोगकर्ता की फ़ीड में अक्सर दिखाई न दें। उदाहरण के लिए, आपके गेम खेलने वाले खिलाड़ी से एक दिन में कई नए उच्च स्कोर पोस्ट प्रकाशित नहीं होंगे। यह फ़िल्टर कैसे काम करता है इसका विवरण निजी प्रतीत होता है –

0

मैंने हाल ही में कुछ पढ़ा है कि एफबी ने एपी पदों को समय-समय पर अनुमति देने से रोक दिया है। यह अभी भी समाचार फ़ीड में दिखाई देगा लेकिन अभी उनकी दीवार पर नहीं। इस

https://github.com/fbsamples/CriticalMass/tree/master/web/criticalmass पर

+0

क्या आप कुछ लिंक पोस्ट कर सकते हैं? 'मैंने कुछ पढ़ा है' काफी सामान्य है, है ना? – HobieCat

2

कोशिश नज़र

आशा हो जाएगा एक उपयोगी

+0

पोस्टिंग से पहले ही अध्ययन किया गया है। मेरा कोड उस से लिया गया है, और अभी भी काम नहीं कर रहा है – HobieCat

1

आप APP_ID/फ़ीड की एक HTTP पोस्ट अनुरोध जारी करके एक आवेदन के प्रोफाइल पेज पर एक पोस्ट बना सकते हैं (PROFILE_ID नहीं/पोस्ट) publ_stream अनुमतियों के साथ।

अधिक जानकारी: TechNew.In

+0

ठीक है, लेकिन यह सवाल हल नहीं करता है। वर्कअराउंड की तरह दिखता है, धन्यवाद – HobieCat

-2

मुझे लगता है कि मैं आप के लिए इस मुद्दे को मिल गया है।

https://developers.facebook.com/docs/opengraphprotocol/#types

बयान देखें:

प्रकार लेख या वीडियो का पेज प्रकाशन अधिकार नहीं है, और क्योंकि वे असली दुनिया ऑब्जेक्ट नहीं है उपयोगकर्ता के प्रोफाइल पर दिखाई नहीं देंगे।

1

यदि आपकी समस्या यह है कि 'जब मैं एपीआई में सफलतापूर्वक स्कोर पोस्ट करता हूं, तो यह आवश्यक रूप से समाचार फ़ीड या टाइमलाइन पर एक कहानी नहीं बनाता है' यह कोई समस्या नहीं है - इस प्रकार स्कोर एपीआई काम करता है।

स्कोर हल्के वजन वाले विकल्प हैं, और हमेशा व्यक्तिगत रूप से नहीं दिखाए जाते हैं - मुझे शायद ही कभी 'उपयोगकर्ता को स्कोर एक्स' कहानियां फेसबुक पर मिलती हैं, लेकिन 'एक्स को हरा में वाई का स्कोर' और 'एक्स को एक नया उच्च स्कोर मिला 'काफी बार - उपयोगकर्ता की प्रोफ़ाइल पर एक टाइमलाइन इकाई भी होती है जो गेमिंग गतिविधि का सारांश दिखाती है और स्कोर डेटा वहां दिखाया जाता है।

बस के लिए/[उपयोगकर्ता] पोस्टिंग/स्कोर जब उपयोगकर्ता एक नई उच्च स्कोर हो जाता है रखने के लिए और फेसबुक वितरण

संबंधित मुद्दे