はじめに: ブログサイトをデザインするとき、Weibo に記事を同時に公開する必要がある場合があります。この記事では、この機能を実装する基本的な方法について説明します。
準備
Sina Weibo の開発者として、本人確認が必要です。
個人認証の審査には通常 1 営業日かかります。
次のステップは、審査のためにウェブサイトを提出し、国内出願の場合は登録番号を提出します。海外にいる場合は、所在地の Web サイトから海外証明書を提出するだけで済みます。これには約 1 営業日かかります。
個人識別レビューに合格すると、アプリケーションを作成してインターフェイスを呼び出すことができます。この時点で取得される権限は比較的低いものです。
ウェブサイトが審査に提出しなかった場合、または審査に落ちた場合、Weibo への投稿には影響しません。投稿された Weibo の下には「未審査の申請」のみが表示されます。
確認後、Web サイトのアプリケーション名が表示されます: 画像
通話インターフェース
Weibo オープン プラットフォームはテスト ツールを提供します。
アクセスを開発する前に、まずこのテスト ツールを通じてテスト Weibo を送信できることを確認する必要があります。
http://open.weibo.com/tools/console?uri=statuses/update&httpmethod=POST&key1=status&value1=%E5%BE%AE%E5%8D%9A%E6%9D%A5%E8%87%AAAPI%E6 %B5%8B%E8%AF%95%E5%B7%A5%E5%85%B7
Weibo に投稿するための API リファレンス ドキュメントは次のとおりです。
http://open.weibo.com/wiki/2/statuses/update
Weibo を投稿するためのすべてのインターフェイスには権限認証が必要です。認証に合格すると、キーの有効期間はユーザー レベルに応じて異なります。
Web 審査に落ちた場合は 1 日、審査に合格した一般ユーザーには 7 日間の猶予期間が与えられます。
有効期間中、トークンがローカルに保存されている限り、権限認証のために Sina サーバーと対話する必要はありません。トークンを使用してさまざまな Weibo API を呼び出すことができます (読み取り、書き込み、視聴者情報の取得など)。
権限認証
権限を認証するには 3 つの方法があります。
ユーザー名とパスワードによる;
これはプログラムに Weibo アカウントのユーザー名とパスワードを記述し、API 呼び出しを通じて認証するのが最も簡単ですが、このインターフェイスはアプリ開発用に提供されており、Web アプリケーションでは使用できないことに注意してください。
Web コールバック経由。
SINA サーバーと対話し、コールバック アドレスを提供する必要があります。コールバック アドレスから access_token を取得します。
3 番目の方法はコードによる方法ですが、これは注意深く研究されていないためスキップされます。
Web アプリケーションは 2 番目の認証方法のみをサポートします。2 番目の方法の使用については次のとおりです。
Sina が提供する SDK をダウンロードします。これには、デモおよび API パッケージング クラスが含まれています。
http://open.weibo.com/wiki/SDK
ページにアクセス
==call.php========================
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);
コールバック アドレス ページ (WB_CALLBACK_URL):
===callback.php====================
$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 です。中国語の文字は 1 文字としてカウントされますが、strlen() は 3 文字としてカウントされます。 1 文字として、使用要件を満たします。
最後に、Weibo 投稿内の HTML タグや などをクリアする必要があります。
//現在の 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 を返します。
}
http://www.bkjia.com/PHPjc/735049.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/735049.html技術記事はじめに: ブログ サイトをデザインするとき、Weibo に記事を同時に公開する必要がある場合があります。この記事では、この機能を実装する基本的な方法について説明します。 新浪微博として準備作業…