1

私は、ここでスタックオーバーフローと他の場所の両方でこれらの多くを見てきました.

とにかく - 役立つ情報

私が実行しようとしているコードは次のとおりです

<?php   

    function getOAuthToken ( $grantCode, $grant_type ) {
        global $client_id;
        global $client_secret;
        global $refresh_token;


        try {     
            ini_set('display_errors', '1');
            error_reporting(E_ALL);

            $oauth2token_uri = "https://accounts.google.com/o/oauth2/token";
            $clienttoken_post = array(
                "client_id" => $client_id,
                "client_secret" => $client_secret
                );

            if ($grant_type === "online") {
                $clienttoken_post["code"] = $grantCode;
                $clienttoken_post["redirect_uri"] = $refresh_token;
                $clienttoken_post["grant_type"] = "authorization_code";
            }

            if ($grant_type == "offline") {
                $clienttoken_post["refresh_token"] = $grantCode;
                $clienttoken_post["grant_type"] = "refresh_token";
            }        

            $curl = cur_init($oauth2token_uri);

        }
        catch ( Exception $e ) 
        {
            echo 'Message: ' .$e->getMessage();
        }


    };

    session_start();

    if (isset($_GET['code'])) {    
        try 
        {

            $accessToken = getOAuthToken($_GET['code'],'online');            

        }
        catch (Exception $e)
        {
            echo 'Message: ' .$e->getMessage();
        }
    }  

?>

Windows 7 (64 ビット) IIS エクスプレス

PHP.INI

phpInfo() を実行すると、次の情報が得られます。

PHP バージョン 5.3.24

読み込まれた構成ファイル C:\Program Files (x86)\php\php.ini

cURL サポートが有効 cURL 情報 7.29.0 Age 3 機能 AsynchDNS はい Debug いいえ GSS-Negotiate はい IDN いいえ IPv6 はい Largefile はい NTLM はい SPNEGO はい SSL はい SSPI はい krb4 いいえ libz はい CharConv いいえhttp、https、imap、imaps、ldap、pop3、pop3s、rtsp、scp、sftp、smtp、smtps、telnet、tftp ホスト i386-pc-win32 SSL バージョン OpenSSL/0.9.8y ZLib バージョン 1.2.7 libSSH バージョン libssh2/1.4 .2

次のコードを実行します。

<?php

 $ci=@curl_version(); $cv=$ci["version_number"]; if($cv) echo "curl
 installed"; else echo "curl is not installed";

?>

curl がインストールされていることを示します

Windows\System32 C:\Windows\SysWOW64 にインストールされた libcurl.dll (v7.13)

Extensions ディレクトリは C:\Program Files (x86)\php\v5.3\ext として指定されます

これには php_curl.dll (ver 5.3.24) が含まれます

php.ini ファイルの行

extension=php_curl.dll

前にセミコロンがない

DLL ssleay32.dll (ver 0.9.8y) が c:\windows\System32 および C:\Windows\SysWOW64 にコピーされました。

DLL libeay32.dll (ver 1.0.1e) が c:\windows\System32 および c:\windows\sysWOW64 にコピーされました。

私が見つけたすべての答えをカバーしていると思いますが、まだ「未定義関数 cur_init() への呼び出し」エラーがあり、次に何を試すべきかわかりません。

4

1 に答える 1

4

する必要があります

$curl = curl_init($oauth2token_uri);

ではない

$curl = cur_init($oauth2token_uri);
于 2013-09-07T21:06:16.297 に答える