{"id":210,"date":"2011-05-16T14:55:22","date_gmt":"2011-05-16T06:55:22","guid":{"rendered":"http:\/\/www.cnmiss.cn\/?p=210"},"modified":"2011-05-16T15:02:25","modified_gmt":"2011-05-16T07:02:25","slug":"facebook-upload-image-fan-page%e4%b8%8a%e4%bc%a0%e7%94%a8%e6%88%b7%e7%9b%b8%e7%89%87%e5%88%b0%e5%ae%a2%e6%88%b7%e4%b8%93%e9%a1%b5%e7%9b%b8%e5%86%8c%e7%9a%84%e6%96%b9%e5%bc%8f","status":"publish","type":"post","link":"https:\/\/www.cnmiss.cn\/?p=210","title":{"rendered":"[FaceBook] upload image &#8211; fan page(\u4e0a\u4f20\u7528\u6237\u76f8\u7247\u5230\u5ba2\u6237\u4e13\u9875\u76f8\u518c\u7684\u65b9\u5f0f)"},"content":{"rendered":"<p>1.\u4f7f\u7528fanpage admin\u548capp admin\u767b\u9646<\/p>\n<p>\u5728config.php\u4fee\u6539\u53d6\u5f97\u7528\u6237\u6743\u9650\u4ee3\u7801\u3002\u00a0<\/p>\n<p>\/\/define(&#8220;APP_PERM&#8221;,&#8221;publish_stream,user_photos,email,user_birthday,user_interests,user_likes&#8221;);\/\/\u6b63\u5e38\u53d6\u5f97\u7528\u6237\u6743\u9650<br \/>\ndefine(&#8220;APP_PERM&#8221;,&#8221;publish_stream,user_photos,email,user_birthday,user_interests,user_likes,offline_access&#8221;);\/\/\u6dfb\u52a0offline_access<\/p>\n<p>2.\u5f39\u51faallow\u5f97\u5230offline_access\u3002<\/p>\n<p>3.\u901a\u8fc7facebook api\u5f97\u5230access_token\u3002<\/p>\n<p>\u00a0\u00a0 $access_token\u00a0=\u00a0$facebook-&gt;getAccessToken();<\/p>\n<p>\u00a0\u00a0 \u4f8b\u5982\uff1a170400923015461|59f852ffb6a063ec8c44b880.1-100001720570055|fduZ2UPXVyWdagfQ-nsNtx1J3eg<\/p>\n<p>4.\u6062\u590d\u3002<\/p>\n<p>\u00a0\u00a0\u00a0\u00a0\/\/define(&#8220;APP_PERM&#8221;,&#8221;publish_stream,user_photos,email,user_birthday,user_interests,user_likes&#8221;);\/\/\u6b63\u5e38\u53d6\u5f97\u7528\u6237\u6743\u9650<\/p>\n<p>5.app\u7a0b\u5e8f\u4f7f\u7528\u4ee5\u4e0a\u5f97\u5230\u7684access_token\uff0c\u4e0a\u4f20\u56fe\u7247\u5230fanpage\u76f8\u518c\u3002<\/p>\n<p>\u8be6\u7ec6\u4ee3\u7801\u5982\u4e0b\uff1a<\/p>\n<p>\/\/ to get authority of\u00a0 fanpage<br \/>\npageauth.php<br \/>\n\/\/\u5fc5\u987b\u4f7f\u7528fanpage admin\u8bbf\u95ee\u4e00\u6b21\u53d6\u5f97fanpage\u6743\u9650<\/p>\n<blockquote><p>&lt;?php<br \/>\ninclude_once &#8216;config.php&#8217;; \/\/\u914d\u7f6e\u6587\u4ef6<br \/>\ninclude_once &#8216;init.php&#8217;;\/\/facebook api<\/p>\n<p>$facebook = new Facebook(array(<br \/>\n\u00a0\u00a0&#8216;appId&#8217; =&gt; APP_ID,<br \/>\n\u00a0\u00a0&#8216;secret&#8217;=&gt; APP_SECRET,<br \/>\n\u00a0\u00a0&#8216;cookie&#8217;=&gt; true<br \/>\n\u00a0\u00a0));<br \/>\n$next =<br \/>\n&#8216;https:\/\/www.facebook.com\/connect\/prompt_permissions.php?api_key=&#8217;. APP_KEY.<br \/>\n&#8216;&amp;fbconnect=true&amp;v=1.0&amp;display=popup&amp;extern=1&amp;next=&#8217;. FB_PATH.<br \/>\n&#8216;&amp;ext_perm=publish_stream&amp;enable_profile_selector=1&amp;profile_selector_ids=&#8217;. FANPAGE_ID<br \/>\n;<\/p>\n<p>echo &#8216;&lt;script language=&#8221;javascript&#8221;&gt;top.location = &#8216;.$next.&#8217;;&lt;\/script&gt;&#8217;;<br \/>\n?&gt;<\/p><\/blockquote>\n<blockquote><p>&lt;?php<br \/>\nfunction getAlbumFP($albumname,$albumdescription,$owner,$access_token=&#8221;){<br \/>\n\u00a0global $facebook;\u00a0<br \/>\n\u00a0$facebook-&gt;setFileUploadSupport(1);\u00a0\u00a0<br \/>\n\u00a0$albumlist = $facebook-&gt;api(array(<br \/>\n\u00a0\u00a0&#8216;method&#8217; =&gt; &#8216;fql.query&#8217;,<br \/>\n\u00a0\u00a0&#8216;query&#8217; =&gt; &#8216;SELECT object_id, name, aid, size FROM album WHERE owner = &#8216;.$owner<br \/>\n\u00a0));\u00a0<br \/>\n\u00a0if(sizeof($albumlist)&gt;0){<br \/>\n\u00a0\u00a0foreach($albumlist as $album) {<br \/>\n\u00a0\u00a0 \u00a0\u00a0if($album[&#8220;size&#8221;] != 200 &amp;&amp; $album[&#8220;name&#8221;] == $albumname) {<br \/>\n\u00a0\u00a0\u00a0\u00a0return substr(strrchr($album[&#8220;aid&#8221;], &#8216;_&#8217;),1);<br \/>\n\u00a0\u00a0\u00a0\u00a0break;<br \/>\n\u00a0\u00a0\u00a0 \u00a0}<br \/>\n\u00a0\u00a0}<br \/>\n\u00a0}<br \/>\n\u00a0\/\/no album match, create new album\u00a0<br \/>\n\u00a0$param = array();<br \/>\n\u00a0$param[&#8220;method&#8221;] = &#8220;photos.createAlbum&#8221;;<br \/>\n\u00a0$param[&#8220;name&#8221;] = $albumname;<br \/>\n\u00a0$param[&#8220;description&#8221;] = $albumdescription;<br \/>\n\u00a0$param[&#8220;visible&#8221;] = &#8216;everyone&#8217;;<br \/>\n\u00a0$param[&#8220;uid&#8221;] = $owner;<br \/>\n\u00a0if($access_token != &#8221;){<br \/>\n\u00a0\u00a0$param[&#8220;access_token&#8221;] = $access_token;<br \/>\n\u00a0}<br \/>\n\u00a0$result = $facebook-&gt;api($param);<br \/>\n\u00a0return substr(strrchr($result[&#8220;aid&#8221;], &#8216;_&#8217;),1);<br \/>\n}<\/p>\n<p>function uploadPhotoSimpleFP($filepath, $caption, $aid, $targetid, $access_token=&#8221;){<br \/>\n\u00a0global $facebook;<br \/>\n\u00a0try {<br \/>\n\u00a0\u00a0$param = array();<br \/>\n\u00a0\u00a0$facebook-&gt;setFileUploadSupport(1);\u00a0<br \/>\n\u00a0\u00a0$param[&#8220;method&#8221;] =&#8221;photos.upload&#8221;;<br \/>\n\u00a0\u00a0$param[&#8220;aid&#8221;] = $aid;<br \/>\n\u00a0\u00a0$param[&#8220;caption&#8221;] = $caption;<br \/>\n\u00a0\u00a0$param[&#8220;uid&#8221;] = $targetid;<br \/>\n\u00a0\u00a0$param[&#8220;_file&#8221;] = &#8216;@&#8217; . realpath($filepath);<br \/>\n\u00a0\u00a0if($access_token != &#8221;){<br \/>\n\u00a0\u00a0\u00a0$param[&#8220;access_token&#8221;] = $access_token;<br \/>\n\u00a0\u00a0}<br \/>\n\u00a0\u00a0$a = $facebook-&gt;api($param);<br \/>\n\u00a0\u00a0return $a;<br \/>\n\u00a0}catch(Exception $e){<br \/>\n\u00a0\u00a0print_r($e);<br \/>\n\u00a0}<br \/>\n}<\/p>\n<p>$page_access_token = &#8220;185854648131926|686b6106eecb450c53d81126.1-100002256837230|X1pInBvhNX4e16F1w5JJ2GJwk0o&#8221;;<br \/>\n$albumid = getAlbumFP(APP_NAME, APP_DESCTIPTION, FANPAGE_ID, $access_token); \/\/\u53d6\u76f8\u518cid, \u6ca1\u6709\u5c06\u81ea\u52a8\u521b\u5efa<br \/>\n$photoinfo = uploadPhotoSimpleFP(&#8216;\u9700\u8981\u4e0a\u4f20\u7684\u56fe\u7247\u8def\u5f84&#8217;, &#8216;\u63cf\u8ff0&#8217;, $albumid, FANPAGE_ID, $access_token);<br \/>\n?&gt;<\/p><\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>1.\u4f7f\u7528fanpage admin\u548capp admin\u767b\u9646 \u5728config.ph &hellip; <a href=\"https:\/\/www.cnmiss.cn\/?p=210\">\u7ee7\u7eed\u9605\u8bfb <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[40],"class_list":["post-210","post","type-post","status-publish","format-standard","hentry","category-xxbj","tag-facebook"],"_links":{"self":[{"href":"https:\/\/www.cnmiss.cn\/index.php?rest_route=\/wp\/v2\/posts\/210","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.cnmiss.cn\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.cnmiss.cn\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.cnmiss.cn\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.cnmiss.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=210"}],"version-history":[{"count":0,"href":"https:\/\/www.cnmiss.cn\/index.php?rest_route=\/wp\/v2\/posts\/210\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.cnmiss.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=210"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.cnmiss.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=210"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.cnmiss.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=210"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}