我尝试通过Asana API
连接到Asana-php
。当我创建index.php
并将代码需要与OAuth
连接时,我在尝试连接到Asana. [this is my app in Asana][1]. How do I connect to
Asana或我做错了时遇到了一些问题。我的代码是这样的:
require '/vendor/autoload.php';
$ASANA_CLIENT_ID = getenv('my_asana_client_id');
$ASANA_CLIENT_SECRET = getenv('my_asana_client_secret');
$client = Asana\Client::oauth(array(
'client_id' => $ASANA_CLIENT_ID,
'client_secret' => $ASANA_CLIENT_SECRET,
// this special redirect URI will prompt the user to copy/paste the code.
// useful for command line scripts and other non-web apps
'redirect_uri' => 'https://chefpepper.dyndns.org/ChefPepperProjects/auth/asana/callback'
));
echo "authorized=" . $client->dispatcher->authorized . "\n";
# get an authorization URL:
$state = null;
$url = $client->dispatcher->authorizationUrl($state);`
答案 0 :(得分:1)
我是Asana的开发者倡导者,也许我可以帮助你!
首先,刷新OAuth流程可能是一个好主意(我们对此有some docs)。基本上这个想法是有3个演员:用户,你的应用和Asana。您可能正在寻找的流程为here。
简短版本适用于OAuth应用:
fetchToken
位于php(或refreshAccessToken
,当最后一个令牌过期时)。这是您的应用程序实际要求授权的地方。因此,在我们的php库中的oauth example中,您需要经历的代码离开后,有几个步骤。你得到了初始化客户端的部分,并生成了用户需要访问的链接,但不是其余部分(即你从未真正让你的php脚本向Asana请求凭据),所以我建议你保留以示例为例,看看你能走多远!
(作为旁注,如果这是供您自己使用而不是其他用户,personal access tokens更容易上手10倍,但它们代表了实际的访问凭据 - 所以不要动手他们出去了!)