Thinkphp が Douyin SDK をどのように統合するかを理解する
<img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/202008/14/2020081416430198815.jpg" class="lazy" alt="Thinkphp が Douyin SDK をどのように統合するかを理解する" >
Douyin の公式 SDK に関するチュートリアルが少なすぎるため、先人たちが将来の世代に楽しんでもらえるように木を植えるという精神でこのブログを書きました。シェード
ステップ 1: Douyin 公式 SDK をダウンロード
ダウンロード アドレス: Douyin SDK 公式ダウンロード
選択 Php ダウンロード アドレス
ダウンロード可能
関連する学習の推奨事項:thinkphp
##ステップ 2: SDK をインポートします
1. ダウンロードした圧縮ファイルを解凍します2. thinkphp プロジェクトのルート ディレクトリにありますextend ディレクトリ (アプリケーション ディレクトリと同じレベル) の下に新しい
Douyin ディレクトリを作成し、# の下に新しい
Open ディレクトリ ## を作成します。 ##Douyin
ディレクトリ
#3. 解凍した php-sdk/douyin_open/lib ディレクトリ内のすべてのファイルとフォルダーを、新しく作成した にコピーします。 Douyin\Open
コピーが完了すると、ディレクトリ構造は次のようになります
##ステップ 3: guzzlehttp の依存関係をインストールする
Douyin の SDK は基本的に guzzlehttp によって送信されたリクエストに基づいているため、依存関係をインストールするには
インストールには Composer
を使用します。
をインストールしていない場合は、最初にインストールしてください1. 実行します。コマンド
composer require guzzlehttp/ guzzle:~6.0
- 2. インストールが完了したら、インターフェイス
- を呼び出すことができます。ステップ 4: インターフェイス呼び出し
インターフェイス呼び出しは、ダウンロードした SDK の組み込み php-sdk\douyin_open\test\Api を参照できます。これには、次のものがほとんど含まれています。
「デモンストレーション権限を持っているだけで、ユーザー情報を取得します」<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'><?php
/**
* Created by PhpStorm.
* User: bigniu
* Date: 2020-04-25
* Time: 21:46:42
*/
namespace app\api\controller\v1;
use Douyin\Open\Api\DefaultApi;
use Douyin\Open\Api\UserInfoApi;
use Exception;
use GuzzleHttp\Client;
use think\Controller;
class Douyin extends Controller
{
public function auth($code=&#39;&#39;)
{
//创建默认API的实例,verify=false不做ssl验证,否则可能报错,根据实际情况而定
$apiInstance = new DefaultApi(new Client([&#39;verify&#39; => false]));
//填写自己的client_key
$client_key = "xxx";
//填写自己的client_secret
$client_secret = "xxx";
$grant_type = &#39;authorization_code&#39;;//根据官方文档填写
try {
//调用获取AccessToken的接口
$result = $apiInstance->oauthAccessTokenGet($client_key, $client_secret, $code, $grant_type);
} catch (Exception $e) {
return error("登录失败");
}
//判断返回的数据是否为空
if (!$result) {
return error("登录失败");
}
//判断返回的Message是否为error
if ($result->getMessage() == &#39;error&#39;) {
return error("登录失败");
}
//获取返回数据
$data=$result->getData();
//获取openid和access_toekn
$openid = $data->getOpenId();
$access_token = $data->getAccessToken();
//创建用户信息API
$userApi = new UserInfoApi(new Client([&#39;verify&#39; => false]));
//获取用户信息
$userInfo = $userApi->oauthUserinfoGetWithHttpInfo($access_token,$openid);
dump($userInfo);
}
}</pre><div class="contentsignin">ログイン後にコピー</div></div>
よくある質問
の呼び出しについて参照できます。 ##1. [0] cURL エラー 60: SSL 証明書の問題: ローカル発行者の証明書を取得できません (https://curl.haxx.se/libcurl/c/libcurl-errors.html を参照) エラー 問題の原因
このエラーは SSL 証明書の検証の理由によるものです解決策 1
:# を変更するだけです##$apiInstance = new DefaultApi(new Client());から $apiInstance = new DefaultApi(new Client(['verify'=>false])); 以上です、主に変更します新しい Client() はここにあります。他の API は同じです。
解決策 2: ca-bundle.crt をダウンロードし、対応するディレクトリに置き、php.ini ファイルにパスを設定します。https ://github.com/bagder/ca-bundle/blob/e9175fec5d0c4d42de24ed6d84a06d504d5e5a09/ca-bundle. crt
php.ini の最後に追加します、<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>curl.cainfo="真实路径/ca-bundle.crt"</pre><div class="contentsignin">ログイン後にコピー</div></div>
Web サーバーを再起動します
2. 設定が無効であることを示すプロンプト
承認されたログイン インターフェイスを呼び出す
認証失敗または無効な構成を求めるプロンプト
問題の原因
申請されたアプリケーションは
ですが、実際の呼び出しは web applicationweb scan code です。Web アプリケーションには、適用時に承認されたドメイン コールバックがあります。設定では、コールバック ドメイン名
# を入力します。 解決策
##3. ユーザー情報レポートの取得 「e_account_role」の値が無効です。「EAccountM」、「EAccountS」、「EAccountK」のいずれかである必要があります
このエラーは ## を呼び出すときに発生します#UserInfoApi
oauthUserinfoGetWithHttpInfo
ユーザー情報の ## が返されるため #e_account_roleフィールドが null ですが、API を変更することで解決できます。このエラーは通常、モバイル アプリケーションの client_key を使用して Web アプリケーションの承認を強制するなど、API への異常な呼び出しによって発生します。 #ソリューション計画
<p>返されたユーザー情報の <code>e_account_role
フィールドが null であるため、API を修正することで解決できます。
TP のエラー プロンプトに従って、エラー レポートを に送信できます。 Douyin\Open\Model \OauthUserinfoResponseData.php 564 行目
#564 行目でエラーが発生しました#通常のユーザー情報を取得するには、563 行目から 570 行目をコメントアウトしてください
変更前:
プログラミング ビデオ
以上がThinkphp が Douyin SDK をどのように統合するかを理解するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









ThinkPHP プロジェクトを実行するには、Composer をインストールし、Composer を使用してプロジェクトを作成し、プロジェクト ディレクトリに入り、php bin/consoleserve を実行し、http://localhost:8000 にアクセスしてようこそページを表示する必要があります。

ThinkPHP には、さまざまな PHP バージョン向けに設計された複数のバージョンがあります。メジャー バージョンには 3.2、5.0、5.1、および 6.0 が含まれますが、マイナー バージョンはバグを修正し、新機能を提供するために使用されます。最新の安定バージョンは ThinkPHP 6.0.16 です。バージョンを選択するときは、PHP バージョン、機能要件、コミュニティ サポートを考慮してください。最高のパフォーマンスとサポートを得るには、最新の安定バージョンを使用することをお勧めします。

ThinkPHP フレームワークをローカルで実行する手順: ThinkPHP フレームワークをローカル ディレクトリにダウンロードして解凍します。 ThinkPHP ルート ディレクトリを指す仮想ホスト (オプション) を作成します。データベース接続パラメータを構成します。 Webサーバーを起動します。 ThinkPHP アプリケーションを初期化します。 ThinkPHP アプリケーションの URL にアクセスして実行します。

「開発に関する提案: ThinkPHP フレームワークを使用して非同期タスクを実装する方法」 インターネット技術の急速な発展に伴い、Web アプリケーションには、多数の同時リクエストと複雑なビジネス ロジックを処理するための要件がますます高まっています。システムのパフォーマンスとユーザー エクスペリエンスを向上させるために、開発者は多くの場合、電子メールの送信、ファイルのアップロードの処理、レポートの生成など、時間のかかる操作を実行するために非同期タスクの使用を検討します。 PHP の分野では、人気のある開発フレームワークとして ThinkPHP フレームワークが、非同期タスクを実装するための便利な方法をいくつか提供しています。

Laravel フレームワークと ThinkPHP フレームワークのパフォーマンスの比較: ThinkPHP は、最適化とキャッシュに重点を置いて、一般に Laravel よりもパフォーマンスが優れています。 Laravel は優れたパフォーマンスを発揮しますが、複雑なアプリケーションの場合は、ThinkPHP の方が適している可能性があります。

ThinkPHP のインストール手順: PHP、Composer、および MySQL 環境を準備します。 Composer を使用してプロジェクトを作成します。 ThinkPHP フレームワークと依存関係をインストールします。データベース接続を構成します。アプリケーションコードを生成します。アプリケーションを起動し、http://localhost:8000 にアクセスします。

ThinkPHP は、キャッシュ メカニズム、コードの最適化、並列処理、データベースの最適化などの利点を備えた高性能 PHP フレームワークです。公式パフォーマンステストでは、1秒あたり10,000以上のリクエストを処理できることが示されており、実際のアプリケーションではJD.comやCtripなどの大規模なWebサイトやエンタープライズシステムで広く使用されています。

開発の提案: API 開発に ThinkPHP フレームワークを使用する方法 インターネットの継続的な発展に伴い、API (アプリケーション プログラミング インターフェイス) の重要性がますます高まっています。 API は、異なるアプリケーション間の通信の橋渡しとなるもので、データの共有や関数の呼び出しなどを実現し、開発者に比較的簡単かつ迅速な開発手法を提供します。優れた PHP 開発フレームワークである ThinkPHP フレームワークは、効率的でスケーラブルで使いやすいです。
