1. ホーム
  2. Web Development

bing translation interface appID application tutorial ["TranslateApiException: AppIdはクォータを超過しています

2022-02-22 01:17:45

業務の一部でマイクロソフトのビング翻訳を使用しているため

API:http://api.microsofttranslator.com/V2/Ajax.svc/Translate

のサンプルです。

http://api.microsofttranslator.com/V2/Ajax.svc/Translate?oncomplete=mycallback1412835995529&appId= A4D660A48A6A97CCA791C34935E4C02BBB1BEC1C&from=&to=zh-cn&text=Guten%20Abend



appIDの受付数には限りがあるため、自分たちでappIDを申請する必要があり、その流れは以下の通りです。

<スパン  step1. 

           を開きます。 https://datamarket.azure.com/dataset/bing/microsofttranslator      購入するには、以下の購読するイベントをクリックしてください。



<スパン  step2. 
                https://datamarket.azure.com/developer/applications/register 登録アプリを開く client_id を入力する


クライアントIDを取得します。 ヘロウドベイビー   、クライアントシークレットキー Pc2PqzjqxdeaZYb5KDrKd ouzN7j8s5At5BBFXBRJoU0=  .

       https://datamarket.azure.com/developer/applications を開くと、登録した




    /*
     * Get the access token.
     *
     * @param string $grantType Grant type.
     * @param string $scopeUrl Application Scope URL.
     * @param string $clientID Application client ID. * @param string $clientSecret Application client ID.
     * @param string $clientSecret Application client ID. * @param string $clientSecret Application client ID.
     * @param string $authUrl Oauth Url.
     * @param string $authUrl
     * @return string.
     */
     function getTokens($grantType, $scopeUrl, $clientID, $clientSecret, $authUrl){
           try {
            //Initialize the Curl Session.
            $ch = curl_init();
            //Create the request Array.
            $paramArr = array (
                                    'grant_type' => $grantType,
                 'scope' => $scopeUrl,
                 'client_id' => $clientID,
                 'client_secret' => $clientSecret
            );
            //Create an Http Query.//
            $paramArr = http_build_query($paramArr);
            //Set the Curl URL.
            curl_setopt($ch, CURLOPT_URL, $authUrl);
            //Set the HTTP POST Request.
            curl_setopt($ch, CURLOPT_POST, TRUE);
            //Set data to POST in HTTP "POST" Operation.
            curl_setopt($ch, CURLOPT_POSTFIELDS, $paramArr);
            //CURLOPT_RETURNTRANSFER- TRUE to return the transfer as a string of the return value of curl_exec().
            curl_setopt ($ch, CURLOPT_RETURNTRANSFER, TRUE);
            //CURLOPT_SSL_VERIFYPEER- Set FALSE to stop cURL from verifying the peer's certificate.
            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
            //Execute the cURL session.
            $strResponse = curl_exec($ch);
            //Get the Error Code returned by Curl.
            $curlErrno = curl_errno($ch);
            if($curlErrno){
                $curlError = curl_error($ch);
                throw new Exception($curlError);
            }
            //Close the Curl Session.
            curl_close($ch);
            //Decode the returned JSON string.
            $objResponse = json_decode($strResponse,true);
			var_dump($objResponse);
            if (isset($objResponse['error'])){
                throw new Exception($objResponse['error_description']);
				return FALSE;
            }
            return $objResponse['access_token'];
        } catch (Exception $e) {
            echo "Exception-". $e->getMessage();
			return FALSE;
        }
    }



	//Client ID of the application.
	$clientID = "hellowodbaby";
	//Client Secret key of the application.
	$clientSecret = "Pc2PqzjqxdeaZYb5KDrKdouzN7j8s5At5BBFXBRJoU0=";
    //OAuth Url.
    $authUrl = "https://datamarket.accesscontrol.windows.net/v2/OAuth2-13/";
    //Application Scope Url
    $scopeUrl = "http://api.microsofttranslator.com";
    //Application grant type
    $grantType = "client_credentials"; 
    $authObj = new AccessTokenAuthentication();
    //Get the Access token.
    $accessToken = $authObj->getTokens($grantType, $scopeUrl, $clientID, $clientSecret, $authUrl);
    
	var_dump("bearer%20".urlencode($accessToken) ); 
   // The output above is the appid, which changes every expires_in seconds [in the array $objResponse ], note.







 参考資料 

http://msdn.microsoft.com/en-us/library/ff512385.aspx
http://msdn.microsoft.com/en-us/library/hh454950.aspx