ホームページ >バックエンド開発 >PHPチュートリアル >PHP で Weibo_PHP の同期送信を実装するチュートリアル
はじめに: ブログサイトをデザインするとき、Weibo に記事を同時に公開する必要がある場合があります。この記事では、この機能を実装する基本的な方法について説明します。
include_once( 'sina_config.php' ); include_once( 'saetv2.ex.class.php' ); // 許可されたURLを取得する $o = 新しい SaeTOAuthV2( WB_AKEY , WB_SKEY ); $code_url = $o->getAuthorizeURL( WB_CALLBACK_URL ); // 投稿経由で URL を呼び出すか、認可を取得します。認可が完了すると、Sina は渡したコールバック アドレス WB_CALLBACK_URL を呼び出します。 request()->リダイレクト($code_url);
$o = 新しい SaeTOAuthV2( WB_AKEY , WB_SKEY ); if (isset($_REQUEST['code'])) { $keys = 配列(); $keys['コード'] = $_REQUEST['コード']; $keys['redirect_uri'] = WB_CALLBACK_URL; 試す { $token = $o->getAccessToken( 'code', $keys ) ; } キャッチ (OAuthException $e) { echo "weibo.com アクセス トークンの取得エラー。"; Log_err ("Weibo.com アクセス トークンの取得エラー。"); 戻る ; } } if ($token) { //認可された API 呼び出しキーを取得した後、有効期間内に API インターフェイスを複数回呼び出す場合は、それを保存できます。再度認可する必要はありません。 $_SESSION['トークン'] = $トークン; $c = new SaeTClientV2( WB_AKEY , WB_SKEY , $_SESSION['token']['access_token'] ); $ret = $c->update( $weiboStr ); if ( isset($ret['error_code']) && $ret['error_code'] > 0 ) { $str = "Weibo.com の送信に失敗しました。エラー情報:" . $ret['error'] 。 LOG_ERR($str); } それ以外 { LOG_INFO("Weibo.com 送信成功。"); } }
//現在の Weibo コンテンツを取得します (140 ワード) パブリック関数 getWeibo() { $titleLen = mb_strlen($this->title, 'UTF-8'); //リンクと省略記号の 20 文字を除く 140 語。説明が必要なのはリンクです。記事のリンクはどんなに長くても短いリンクに置き換えられます。 Weibo では、短いリンクの単語数に基づいて計算されます。 $summaryLen = 115 - $titleLen; $pubPaper = Cutstr_html($this->summary); If(mb_strlen($pubPaper, 'UTF-8') >= $summaryLen) $pubPaper = mb_substr($pubPaper,0,$summaryLen,'UTF-8'); $pubPaper = sprintf('[%s]%s...%s', $this->title , $pubPaper , aurl('post/show', array('id' => $this-> id))); $pubPaper を返します。 } //htmlタグを完全に削除します 関数cutstr_html($string) { $string = ストリップタグ($string); $string = preg_replace ('/n/is', '', $string); $string = preg_replace ('/ | /is', '', $string); $string = preg_replace ('/ /is', '', $string); $string を返します。 }