2012-11-08 23 views
9

के रूप में नहीं, मैं आज सुबह से ग्राफ एपीआई के साथ संघर्ष कर रहा हूं।ग्राफ एपीआई: उपयोगकर्ता के रूप में मेरे पृष्ठ फ़ीड पर पोस्ट करें, पृष्ठ

मैं अपने फेसबुक पेज पर एक संदेश पोस्ट करने की कोशिश कर रहा हूं, लेकिन पृष्ठ के रूप में, स्वयं (उपयोगकर्ता) के रूप में नहीं।

जब मैं किसी मित्र के पृष्ठ पर पोस्ट करने का प्रयास करता हूं तो सब कुछ ठीक काम करता है और संदेश पोस्ट किया जाता है, लेकिन जब मैं अपने पृष्ठ पर पोस्ट करने का प्रयास करता हूं (मैं एक व्यवस्थापक हूं) यह प्रबंधन_पेज अनुमति की मांग करता है, और यदि मैं यह अनुमति देता हूं यह केवल पृष्ठ के रूप में संदेश पोस्ट करेगा, न कि मेरे जैसा!

क्या यह निर्दिष्ट करने का कोई तरीका है: हाँ, मैं अपने पृष्ठ की दीवार पर पोस्ट करना चाहता हूं, हाँ मैं व्यवस्थापक हूं, लेकिन मैं उपयोगकर्ता के रूप में पोस्ट करना चाहता हूं?

public function postToWall($pageId, $msg) { 
    if($pageId) { 
     $this->callAPI('/'.$pageId.'/feed', 'POST', array(
      'message' => $msg 
     )); 
    } 
} 

/** 
* @param $path 
* @param string $method default to GET 
* @param array $params additional params 
* @return mixed 
*/ 
public function callAPI($path, $method = 'GET', $params = array()) { 
    $params = array_merge(array('access_token' => $this->getAccessToken()), $params); 
    return $this->api($path, $method, $params); 
} 

यह रिटर्न:

Uncaught OAuthException: (#283) Requires extended permission: manage_pages 

मैं देख लिया है और ACCESS_TOKEN मेरे उपयोगकर्ता पहुँच टोकन है।

मेरे पास "publ_stream" अनुमति है।

किसी भी मदद की सराहना की जाएगी! धन्यवाद

+0

एक ही समस्या है। हाल ही में कुछ नीति परिवर्तन लगता है। यह संभव था। – wangii

+1

ने एफबी को बग्रेपोर्ट दायर किया: https://developers.facebook.com/bugs/297250430385258 – wangii

+0

मैंने एक बग रिपोर्ट भी दायर की (लेकिन इसे यहां उल्लेख करना भूल गया) https://developers.facebook.com/bugs/427479617319493 – Olivier

उत्तर

-2

अमेरिकन प्लान डॉक्स में आप publish_stream के बारे में पढ़ सकते हैं:

"सामग्री, टिप्पणियाँ पोस्ट करने के अपने अनुप्रयोग को सक्षम करता है, और एक उपयोगकर्ता की स्ट्रीम पर और उपयोगकर्ता के दोस्तों की धाराओं को पसंद करता है।"

तो यह अनुमति पृष्ठ की दीवार पर प्रकाशित होने के लिए आपकी ऐप पहुंच नहीं दे सकती है। आपको "manage_pages" अनुमति का उपयोग करना होगा। यहाँ और अधिक जानकारी है:

https://developers.facebook.com/docs/reference/login/page-permissions/

+0

जैसा कि मेरी पोस्ट में बताया गया है, मैंने एक दोस्त के पृष्ठ पर पोस्ट करने की कोशिश की (उसकी दीवार नहीं, उसका एक सार्वजनिक पृष्ठ वह है) यह ठीक काम किया। आप उस दस्तावेज़ में देख सकते हैं जो publ_stream का उपयोग किसी पृष्ठ पर पोस्ट करने के लिए किया जाता है: यह विधि दो तरीकों से काम करती है। आप इसे प्रकाशित करने के लिए उपयोग कर सकते हैं: [...] उपयोगकर्ता को संकेत दिए बिना सीधे उपयोगकर्ता या पृष्ठ की स्ट्रीम पर। आपके एप्लिकेशन को सीधे स्ट्रीम पर प्रकाशित करने से पहले, उपयोगकर्ता या पृष्ठ को आपके एप्लिकेशन को publ_stream विस्तारित अनुमति प्रदान करनी होगी। यह जेएस फ़ंक्शन https://developers.facebook.com/docs/fbjs/streamPublish/ के लिए दस्तावेज़ में है (लेकिन PHP एक ही काम करता है) – Olivier

0

'publish_actions' अनुमति देने का अनुरोध की कोशिश करो। यह भी सुनिश्चित करें कि आप पेज का उपयोग कर रहे हैं क्योंकि उपयोगकर्ता फेसबुक पर स्वयं पेज नहीं है।