1

私はFacebookのOAuthのAPIから首尾よく入手できるスクリプトいる:質問は、私は私のスクリプトの本体に、私のAppIDとclientSecretを持ってしたくないということですので、私の方法はスクリプト内の資格情報を持たずに、GoogleのスクリプトでFacebookの認証用にアプリ秘密とトークンをコードする方法はありますか?

function getToken() { 
    var appId = "XXXXXX"; 
    var clientSecret = "XXXXXXXXXXXX"; 
    var url = "https://graph.facebook.com/oauth/access_token?client_id="+appId+"&client_secret="+clientSecret+"&grant_type=client_credentials"; 
    var response = UrlFetchApp.fetch(url); 
    var queryResult = response.getContentText(); 
    var token = queryResult.slice(13); 
    return(token); 
} 

あり私のクレデンシャルをプレーンテキストで使わなくても、これをコード化できますか?

+0

アプリのアクセストークンをクライアント側のコードで使用しないでください。アプリのアクセストークンを使用する必要がある場合は、サーバーサイドで行う必要があります。代わりにユーザーアクセストークンを使用できる場合は、まずユーザーにログインさせ、トークンを使用させます。 – CBroe

答えて

2

「スクリプトプロパティ」([ファイル]> [プロジェクトのプロパティ]> [スクリプトのプロパティ)としてスクリプトエディタにキーとシークレットを入力してProperties Serviceを使用してコードでそれらにアクセス。その後

property:APP_ID, value:'XXXXXXXX' 

var appId = PropertiesService.getScriptProperties().getProperty('APP_ID') 
あなたはGitHubのようなどこかでスクリプトを共有したいと思った場合は、この手法が機能

、またはあなたの場合にコードでアクセス:

たとえば、手動で追加することができますそのスクリプトの表示アクセス権しか与えられていない場合は、スクリプトのプロパティは表示されません(this scriptのSPを見ることはできません)。他のユーザーに編集アクセス権を与えると、SPを見ることができますが、ユーザープロパティを使用することもできます。

+0

ありがとう!その後、ユーザーはプロジェクトのプロパティ - >スクリプトのプロパティに移動して表示できますか? – turtlepower

+1

はい、セキュリティ上の違いはありません。 –

+1

ユースケースを追加するための私の答えが更新されました。 –

-2

このため、ネームスペースと保護されたメソッドを使用する最新のfacebook SDKをインストールして、グラフAPIを使用してFacebookのデータを取得する必要があります。以下は、私が上で働いていた例である:手動

require_once ROOT . '/vendor/Facebook/autoload.php'; 
use Facebook\FacebookSession; 
use Facebook\FacebookRedirectLoginHelper; 
use Facebook\FacebookRequest; 
use Facebook\FacebookResponse; 
use Facebook\FacebookSDKException; 
use Facebook\FacebookRequestException; 
use Facebook\FacebookAuthorizationException; 
use Facebook\GraphObject; 
use Facebook\Entities\AccessToken; 
use Facebook\HttpClients\FacebookCurlHttpClient; 
use Facebook\HttpClients\FacebookHttpable; 
class FacebookComponent extends Component 
{ 
    public $app_id; 
    public $app_secret; 
    public $default_graph_version; 

    public function __construct() 
    { 
    $this->app_id = "XXXXXXXXXXXXXXX"; 
    $this->app_secret = "XXXXXXXXXXXXXXXXXXXXX"; 
    $this->default_graph_version = "v2.5"; // For Offerz-develop app 

    } 
    public function getFacebookConn(){ 
    $app_id = $this->app_id; 
    $app_secret = $this->app_secret; 
    $fb = new \Facebook\Facebook([ 
     'app_id' => $app_id, 
     'app_secret' => $app_secret, 
     'default_graph_version' => 'v2.5', 
    ]); 
    return $fb; 

    } 
    } 
+1

あなたはまだ秘密をハードコードし、間違った言語を使用しました。 –

関連する問題